Cách dễ nhất để bắt đầu với cấu hình log4j là gì?tệp cấu hình mẫu log4j (tệp thuộc tính)
Trả lời
Đặt một file có tên log4j.properties
trong thư mục gốc của classpath của bạn:
log4j.rootLogger = ALL, Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.conversionPattern=%m%n
Không có gì khác là cần thiết. Log4j sẽ phát hiện ra nó và cấu hình chính nó.
Điều đáng đọc là manual (có nguy cơ nêu rõ điều này). Có rất nhiều tùy chọn cấu hình và khi bạn tìm hiểu và hiểu những gì có thể, bạn có thể triển khai một số hệ thống ghi nhật ký rất mạnh mẽ.
Cách dễ nhất tuyệt đối là truy cập các trang log4j tại apache và đọc số short introduction. Họ có một mẫu log4j.configuration sẵn sàng để sao chép và dán.
Trong trường hợp bạn tình cờ gặp vấn đề này và đang tìm kiếm tệp mẫu cho log4j2. Cách tôi làm việc đó là tạo một tên tệp log4j2.xml trong thư mục 'resources' cơ sở (tôi đang sử dụng maven để 'src/main/resources')
Sau đó sao chép cấu hình mẫu từ hướng dẫn: http://logging.apache.org/log4j/2.x/manual/configuration.html
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
này sẽ cung cấp cho bạn một giao diện điều khiển đẹp logger đơn giản. Tôi khuyên bạn nên sửa đổi mô hình theo cách bạn muốn nó trông như thế nào và 'Gốc cấp =' đối với một cái gì đó bao gồm hơn. Và tất nhiên, hãy đọc hướng dẫn để có cài đặt mạnh mẽ hơn ...
Ngoài một số câu trả lời khác, tôi sẽ thêm một appender kiên trì vì đó là lợi thế lớn nhất khi sử dụng nhật ký trên bảng điều khiển và trình gỡ rối; khi không thể chạy qua mã ứng dụng trong thời gian thực hoặc sự kiện đã xảy ra.
!/"Đường dẫn"/"tên tệp" sẽ ghi vào thư mục gốc của hệ thống tệp. "path"/"filename" sẽ ghi vào đường dẫn tương đối so với gốc classpath.
log4j.rootLogger = ALL, Console, default.file
log4j.appender.default.file=org.apache.log4j.FileAppender
log4j.appender.default.file.file={path}/{filename}
log4j.appender.default.file.layout=org.apache.log4j.PatternLayout
log4j.appender.default.file.layout.conversionPattern=%m%n
log4j.appender.Console=org.apache.log4j.ConsoleAppender
...
- 1. Đọc cấu hình Celery từ tệp thuộc tính Python
- 2. Đặt thuộc tính hệ thống Java bằng tệp cấu hình
- 3. Cấu hình Spring Java: nhập các thuộc tính tệp
- 4. cấu hình log4j trong EAR
- 5. Làm cách nào để sử dụng tệp thuộc tính tùy chọn trong tệp cấu hình Spring?
- 6. Log4j nhiều tệp
- 7. log4j StringToMatch trong tập tin thuộc tính
- 8. Cách thêm tệp thuộc tính log4J bằng plugin sbt và onejar?
- 9. Cách xác định vị trí cấu hình Log4J 2.x?
- 10. Đặt cấu hình Log4j Loggers Programmatically
- 11. Đọc thuộc tính tệp
- 12. Sử dụng Tệp XML (log4j2.xml) để định cấu hình Log4j 2
- 13. Cách đặt thuộc tính autoReconnect cho url db mysql trong tệp cấu hình Play Framework?
- 14. đọc Thuộc tính giá trị tham số từ tệp cấu hình
- 15. Làm cách nào để tạo 2 tệp nhật ký riêng biệt với một tệp cấu hình log4j?
- 16. Mẫu thiết kế cho thuộc tính cấu hình được tải một lần?
- 17. Định dạng tệp cấu hình
- 18. C# Tệp cấu hình DLL
- 19. Các tệp cấu hình FitNesse
- 20. Tệp cấu hình trong AngularJS
- 21. Truy cập thuộc tính Mô hình trong tệp javascript?
- 22. Nơi đặt tệp thuộc tính?
- 23. Tải lại tệp cấu hình .NET
- 24. Làm cách nào để ghi đè thuộc tính cấu hình?
- 25. cấu hình log4j qua (các) đối số JVM?
- 26. Thuộc tính Log4j tại một địa điểm tùy chỉnh
- 27. Cấu hình WCF không có tệp cấu hình
- 28. log4net - định cấu hình bằng nhiều tệp cấu hình
- 29. phát hiện lỗi tập tin cấu hình log4j
- 30. Tải tệp thuộc tính từ gói Java
Cách dễ nhất, trong phương pháp chính của bạn làm 'BasicConfigurator.configure();' –
@Alexander, theo cách của bạn là đơn giản nhất nhưng không phải lúc nào thích hợp, khi bạn làm việc với các khuôn khổ (những người không làm việc với các khuôn khổ hiện nay) bạn không được viết phương thức chính. Đôi khi như trong mùa xuân hoặc trong servlets bạn thậm chí không thể biết trước đoạn mã nào sẽ chạy đầu tiên. – flybywire