在java桌面应用程序中使用log4j时如何在特定位置创建日志

我在Eclipse中使用log4j来记录java桌面应用程序中的消息。 我希望日志应该在特定的文件夹中创建(具体来说,在包含源文件夹’src’和类文件夹’bin’的文件夹中)。

是否可以在log4j.properties中设置它? 如何确保仅在此位置创建日志?

我会和Saket的回复一起去。 但是,不是硬编码位置,它总是更好地拥有相对路径。

例如,如果您从一个名为Launcher的类的main方法启动应用程序,那么这是Eclipse Project目录的结构:

 Java Project src bin 

然后给你的位置

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

这将在目录日志下创建文件:

 Java Project src bin log LogFile.log 

希望你明白了.. 🙂

假设您正在使用RollingFileAppender ,您可以在log4j.properties文件中设置类似的内容(下面我将C:/myapp/src/mylog.log设置为我的目标位置 – 您可以将其更改为您想要的位置):

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

是的,可以在属性文件中设置它。 一个例子是:

 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可以修改为磁盘上的任何路径。