Computer >> Máy Tính >  >> Lập trình >> Java

Ghi nhật ký JVM hợp nhất trong Java 9 là gì?


Java 9 có thể cung cấp một hệ thống ghi nhật ký chung cho các thành phần JVM với mức độ chi tiết. Bằng cách sử dụng tùy chọn dòng lệnh mới: -Xlog cho tất cả cài đặt ghi nhật ký ghi nhật ký JVM hợp nhất cung cấp cho chúng tôi một công cụ dễ định cấu hình để thực hiện phân tích nguyên nhân gốc rễ (RCA) của các thành phần JVM cấp hệ thống phức tạp.

Dòng lệnh -Xlog có thể được sử dụng để kiểm soát tất cả các thành phần JVM ghi nhật ký. Các đối số của -Xlog tuân theo các quy tắc dưới đây:

  • Nhiều đối số đã được áp dụng theo thứ tự chúng xuất hiện trong dòng lệnh.
  • Quy tắc cấu hình cuối cùng:đối với cùng một đầu ra, nhiều đối số có thể ghi đè lẫn nhau theo thứ tự đã cho.

Xlog:vô hiệu hóa tắt tất cả ghi nhật ký và xóa tất cả cấu hình của khuôn khổ ghi nhật ký (bao gồm cả cảnh báo lỗi ).

Cú pháp

-Xlog:tag[*][=level][:output:decoration:output-option],tag...

-Xlog:trợ giúp bản in -Xlog cú pháp sử dụng và các thẻ, cấp độ, trình trang trí có sẵn cùng với một số dòng lệnh mẫu.

1) Thẻ :Khi thông báo nhật ký được hiển thị, nó được liên kết với một tập hợp các thẻ trong JVM xác định theo tên:os, gc, mô-đun. Chúng tôi áp dụng các cài đặt khác nhau cho các thẻ riêng lẻ và ‘*’ biểu thị một đối sánh thẻ ‘ký tự đại diện’.

2) Cấp độ :Chúng tôi thực hiện ghi nhật ký ở các cấp độ khác nhau và các cấp độ có sẵn là lỗi, cảnh báo, thông tin, gỡ lỗi, theo dõi và phát triển. Để tắt ghi nhật ký, sau đó sử dụng thay thế tắt.

3) Kết quả đầu ra :Đầu ra hỗ trợ ba loại:tệp stdout, stderr và tệp văn bản để thiết lập xoay tệp nhật ký dựa trên kích thước văn bản và một số tệp để xoay.

4) Người trang trí :Có thêm chi tiết về tin nhắn được gọi là decorator. Đây là danh sách:

  • time / timemillis / timenanos :ngày và giờ hiện tại (định dạng ISO-8601)
  • uptime / uptimemillis / uptimenanos :thời gian kể từ khi bắt đầu JVM
  • pid :mã định danh quy trình
  • tid :định danh chuỗi
  • cấp độ :cấp độ được liên kết với thông báo nhật ký
  • thẻ :thẻ được liên kết với thông báo nhật ký


C:\Program Files\Java\jdk-9.0.4\bin>java -Xlog:help
-Xlog Usage: -Xlog[:[what][:[output][:[decorators][:output-options]]]]
where 'what' is a combination of tags and levels of the form tag1[+tag2...][*][=level][,...]
Unless wildcard (*) is specified, only log messages tagged with exactly the tags specified will be matched.

Available log levels:
off, trace, debug, info, warning, error

Available log decorators:
time (t), utctime (utc), uptime (u), timemillis (tm), uptimemillis (um), timenanos (tn), uptimenanos (un), hostname(hn), pid (p), tid (ti), level (l), tags (tg)
Decorators can also be specified as 'none' for no decoration.

Available log tags:
add, age, alloc, aot, annotation, arguments, attach, barrier, biasedlocking, blocks, bot, breakpoint, census, class, classhisto, cleanup, compaction, constraints, constantpool, coops, cpu, cset, data, defaultmethods, dump, ergo, exceptions, exit, fingerprint, freelist, gc, hashtables, heap, humongous, ihop, iklass, in it, itables, jni, jvmti,liveness, load, loader, logging, mark, marking, methodcomparator, metadata, metaspace, mmu, module, monitorinflation,monitormismatch, nmethod, normalize, objecttagging, obsolete, oopmap, os, pagesize, patch, path, phases, plab, promotion,preorder, protectiondomain, ref, redefine, refine, region, remset, purge, resolve, safepoint, scavenge, scrub, stacktrace,stackwalk, start, startuptime, state, stats, stringdedup, stringtable, stackmap, subclass, survivor, sweep, task, thread,tlab, time, timer, update, nload, verification, verify, vmoperation, vtables, workgang, jfr, system, parser, bytecode,setting, event Specifying 'all' instead of a tag combination matches all tag combinations.

Described tag combinations:
logging: Logging for the log framework itself

Available log outputs:
stdout, stderr, file=
Specifying %p and/or %t in the filename will expand to the JVM's PID and startup timestamp, respectively.

Some examples:
-Xlog
Log all messages using 'info' level to stdout with 'uptime', 'levels' and 'tags' decorations.
(Equivalent to -Xlog:all=info:stdout:uptime,levels,tags).

-Xlog:gc
Log messages tagged with 'gc' tag using 'info' level to stdout, with default decorations.

-Xlog:gc,safepoint
Log messages tagged either with 'gc' or 'safepoint' tags, both using 'info' level, to stdout, with default
decorations.
(Messaged tagged with both 'gc' and 'safepoint' will not be logged.)