2011-09-26 2 views
6

Tôi đang sử dụng log4j trong Eclipse để ghi nhật ký thư trong ứng dụng máy tính để bàn java. Tôi muốn rằng các bản ghi nên được tạo ra trong một thư mục cụ thể (Cụ thể, trong thư mục có chứa thư mục nguồn 'src' và thư mục lớp 'bin').cách tạo nhật ký ở vị trí cụ thể khi sử dụng log4j trong ứng dụng máy tính để bàn java

Có thể thiết lập điều này trong log4j.properties không? Làm cách nào để đảm bảo rằng nhật ký chỉ được tạo tại vị trí này?

+2

bạn cần đặt thuộc tính 'log4j.appender.logfile.File' – Ankur

+0

Đừng quên đọc - Log4j Các phương pháp hay nhất - http://juliusdavies.ca/logging. html – adatapost

Trả lời

23

Tôi sẽ trả lời câu trả lời của Saket. Nhưng thay vì hardcoding vị trí của nó luôn luôn tốt hơn để có một con đường tương đối.

Nếu bạn bắt đầu ứng dụng của bạn từ một phương pháp chính từ một lớp được gọi là Launcher ví dụ và đây là cấu trúc của thư mục dự án Eclipse của bạn:

Java Project 
    src 
    bin 

Sau đó chỉ cần cung cấp cho vị trí của bạn được

log4j.appender.R.File=./log/Logfile.log 

Điều này sẽ tạo tệp dưới nhật ký thư mục:

Java Project 
    src 
    bin 
    log 
    LogFile.log 

Hy vọng bạn đã nhận nó .. :)

7

Giả sử bạn đang sử dụng RollingFileAppender, bạn có thể thiết lập một cái gì đó như thế này trong tập tin log4j.properties của bạn (sau đây tôi đang thiết C:/myapp/src/mylog.log như vị trí mục tiêu của tôi - bạn có thể thay đổi điều này đến vị trí mong muốn của bạn):

log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender 
log4j.appender.rollingFile.File=C:/myapp/src/mylog.log 
... (other configurations) 
... 
0

Có có thể đặt nó trong tệp thuộc tính. Một ví dụ là:

log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender 
log4j.appender.rollingFile.File=D:/myapp/mylog.log 
log4j.appender.rollingFile.MaxFileSize=2MB 
log4j.appender.rollingFile.MaxBackupIndex=2 
log4j.appender.rollingFile.layout = org.apache.log4j.PatternLayout 
log4j.appender.rollingFile.layout.ConversionPattern=%p %t %c - %m%n 

log4j.appender.rollingFile.File = D: /myapp/mylog.log có thể được sửa đổi để bất kỳ đường dẫn trên đĩa của bạn.