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

use*_*664 9 java log4j

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

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

set*_*thu 27

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

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

Java Project
   src
   bin
Run Code Online (Sandbox Code Playgroud)

然后给你的位置

 log4j.appender.R.File=./log/Logfile.log
Run Code Online (Sandbox Code Playgroud)

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

Java Project
   src
   bin
   log
     LogFile.log
Run Code Online (Sandbox Code Playgroud)

希望你明白了.. :)


Sak*_*ket 7

假设您正在使用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)
...
Run Code Online (Sandbox Code Playgroud)