2012-11-25 24 views
6

Tôi đang thử log4j2 để tạo tệp nhật ký cho hệ thống tôi đang phát triển đúng, tôi đã làm theo hướng dẫn trên site của mình và không có lỗi xảy ra khi tôi chạy nó, nhưng nhật ký là không được lưu vào nơi tôi đặt nó (ví dụ: "D: \ logs \ app.log").Lưu tệp log4j2 (sử dụng ứng dụng RollingFile)

Đây là log4j.xml My

<?xml version="1.0" encoding="UTF-8"?> 
<configuration status="OFF"> 
    <appenders> 
    <RollingFile name="MyRollingFile" fileName="D:/logs/app.log" 
       filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz"> 
     <PatternLayout> 
     <pattern>%d %p %C{1.} [%t] %m%n</pattern> 
     </PatternLayout> 
     <Policies> 
     <TimeBasedTriggeringPolicy /> 
     <SizeBasedTriggeringPolicy size="250 MB"/> 
     </Policies> 
     <DefaultRolloverStrategy max="20"/> 
    </RollingFile> 
    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 
    </appenders> 
    <loggers> 
    <logger name="Log_RollingFile" level="TRACE" additivity="false"> 
     <appender-ref ref="MyRollingFile"/> 
    </logger> 
    <root level="ERROR"> 
     <appender-ref ref="Console"/> 
    </root> 
    </loggers> 
</configuration> 

Tôi cố gắng để:

  • xóa app.log để xem cấu hình của tôi (D: \ logs \ app.log) công trinh. Khi tôi chạy ứng dụng nó tạo app.log vì vậy tôi nghĩ rằng nó có nghĩa là nó thấy cấu hình và điều duy nhất là nó KHÔNG LƯU SAU log.info mà tôi đã làm trong ứng dụng java
  • Thay đổi cấp độ gốc thành "TRACE", và nó in log.info.

[EDIT:]

Tôi có còn các thư viện trên classpath của tôi

  • log4j-api-2,0-beta3.jar
  • log4j-core- 2.0-beta3.jar

Tôi có thiếu thứ gì đó trên cấu hình RollingFile hoặc thư viện (có thể) không?

Xin cảm ơn trước.

Trả lời

3

Tên nhật ký của bạn không chính xác.

Như đã giải thích trong hướng dẫn cấu hình bạn đã liên kết, trình ghi nhật ký phải được đặt tên theo gói/lớp bạn muốn ghi nhật ký.

Trong ví dụ của họ, trình ghi nhật ký có tên com.foo.Bar sẽ ghi lại mọi thứ từ lớp Bar trong gói com.foo với mức TRACE.

Các vấn đề liên quan