log4j - Cấu hình

Chương trước đã giải thích các thành phần cốt lõi của log4j. Chương này giải thích cách bạn có thể cấu hình các thành phần cốt lõi bằng cách sử dụng tệp cấu hình. Việc định cấu hình log4j liên quan đến việc ấn định Cấp, xác định Appender và chỉ định các đối tượng Bố cục trong tệp cấu hình.

Các log4j.propertiestệp là tệp cấu hình log4j giữ các thuộc tính trong cặp khóa-giá trị. Theo mặc định, LogManager tìm kiếm một tệp có tênlog4j.properties bên trong CLASSPATH.

  • Cấp của trình ghi gốc được xác định là DEBUG. CácDEBUG đính kèm appender có tên X vào nó.

  • Đặt người khiếu nại có tên X là người khiếu nại hợp lệ.

  • Đặt bố cục cho appender X.

log4j.properties Cú pháp:

Sau đây là cú pháp của tệp log4j.properties cho appender X:

# Define the root logger with appender X
log4j.rootLogger = DEBUG, X

# Set the appender named X to be a File appender
log4j.appender.X=org.apache.log4j.FileAppender

# Define the layout for X appender
log4j.appender.X.layout=org.apache.log4j.PatternLayout
log4j.appender.X.layout.conversionPattern=%m%n

Ví dụ về log4j.properties

Sử dụng cú pháp trên, chúng tôi xác định như sau trong log4j.properties tập tin:

  • Cấp của trình ghi gốc được xác định là DEBUG, Các DEBUG người phụ nữ có tên FILE với nó.

  • Người phục vụ FILE được định nghĩa là org.apache.log4j.FileAppender. Nó ghi vào một tệp có tênlog.out nằm ở log danh mục.

  • Mẫu bố cục được xác định là % m% n , có nghĩa là thông báo ghi nhật ký đã in sẽ được theo sau bởi một ký tự dòng mới.

# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE

# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

Điều quan trọng cần lưu ý là log4j hỗ trợ thay thế biến kiểu UNIX chẳng hạn như $ {variableName}.

Mức độ gỡ lỗi

Chúng tôi đã sử dụng DEBUG với cả phần phụ. Tất cả các tùy chọn có thể là:

  • TRACE
  • DEBUG
  • INFO
  • WARN
  • ERROR
  • FATAL
  • ALL

Các cấp độ này được giải thích sau trong hướng dẫn này.

Người bổ sung

Apache log4j cung cấp các đối tượng Appender chịu trách nhiệm chính trong việc in thông báo ghi nhật ký đến các điểm đến khác nhau như bảng điều khiển, tệp, ổ cắm, nhật ký sự kiện NT, v.v.

Mỗi đối tượng Appender có các thuộc tính khác nhau được liên kết với nó và các thuộc tính này cho biết hành vi của đối tượng đó.

Bất động sản Sự miêu tả
bố trí Appender sử dụng các đối tượng Bố cục và mẫu chuyển đổi được liên kết với chúng để định dạng thông tin ghi nhật ký.
Mục tiêu Mục tiêu có thể là một bảng điều khiển, một tệp hoặc một mục khác tùy thuộc vào appender.
cấp độ Cấp được yêu cầu để kiểm soát việc lọc các thông báo nhật ký.
ngưỡng cửa Appender có thể có mức ngưỡng được liên kết với nó độc lập với mức của trình ghi. Appender bỏ qua bất kỳ thông báo ghi nhật ký nào có mức thấp hơn mức ngưỡng.
bộ lọc Các đối tượng Bộ lọc có thể phân tích thông tin ghi nhật ký vượt quá mức đối sánh và quyết định xem các yêu cầu ghi nhật ký nên được xử lý bởi một Appender cụ thể hay bị bỏ qua.

Chúng ta có thể thêm một đối tượng Appender vào Logger bằng cách thêm cài đặt sau vào tệp cấu hình với phương pháp sau:

log4j.logger.[logger-name]=level, appender1,appender..n

Bạn có thể viết cấu hình tương tự ở định dạng XML như sau:

<logger name="com.apress.logging.log4j" additivity="false">
   <appender-ref ref="appender1"/>
   <appender-ref ref="appender2"/>
</logger>

Nếu bạn muốn thêm đối tượng Appender bên trong chương trình của mình thì bạn có thể sử dụng phương pháp sau:

public void addAppender(Appender appender);

Phương thức addAppender () thêm một Appender vào đối tượng Logger. Như cấu hình ví dụ minh họa, có thể thêm nhiều đối tượng Appender vào một trình ghi nhật ký trong danh sách được phân tách bằng dấu phẩy, mỗi thông tin ghi nhật ký in đến các đích riêng biệt.

Chúng tôi chỉ sử dụng một ứng dụng FileAppender trong ví dụ ở trên. Tất cả các tùy chọn appender có thể có là:

  • AppenderSkeleton
  • AsyncAppender
  • ConsoleAppender
  • DailyRollingFileAppender
  • ExternallyRolledFileAppender
  • FileAppender
  • JDBCAppender
  • JMSAppender
  • LF5Appender
  • NTEventLogAppender
  • NullAppender
  • RollingFileAppender
  • SMTPAppender
  • SocketAppender
  • SocketHubAppender
  • SyslogAppender
  • TelnetAppender
  • WriterAppender

Chúng tôi sẽ đề cập đến FileAppender trong Đăng nhập vào Tệp và JDBC Appender sẽ đề cập đến Đăng nhập trong Cơ sở dữ liệu .

Bố trí

Chúng tôi đã sử dụng PatternLayout với appender của mình. Tất cả các tùy chọn có thể là:

  • DateLayout
  • HTMLLayout
  • PatternLayout
  • SimpleLayout
  • XMLLayout

Sử dụng HTMLLayout và XMLLayout, bạn cũng có thể tạo đăng nhập bằng HTML và ở định dạng XML.

Định dạng bố cục

Bạn sẽ học cách định dạng thông báo nhật ký trong chương: Định dạng nhật ký .