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

时间:2011-09-26 10:44:18

标签: java log4j

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

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

4 个答案:

答案 0 :(得分:27)

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

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

Java Project
   src
   bin

然后将您的位置设为

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

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

Java Project
   src
   bin
   log
     LogFile.log

希望你明白了.. :)

答案 1 :(得分: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)
...

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

在项目文件夹中创建日志不是一件好事,因为它的大小越来越大。而是可以在运行应用程序的用户目录中创建它。

例如:应为 $ {user.home} /appName/MyWEB.log ,用户通常有权在主目录中写入

适用于Windows和Linux环境。