我在我的spring mvc项目中使用log4j,并在下面创建日志文件uing log4j.properties。
# Root logger option
log4j.rootLogger= INFO, info, file, stdout, error
# Direct log messages to a log file [INFO]
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.File=.logs\\mylog.log
log4j.appender.info.Threshold=INFO
log4j.appender.info.MaxFileSize=1Kb
log4j.appender.info.MaxBackupIndex=10
log4j.appender.info.DatePattern='.'yyyy-MM-dd
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
我希望它存储在我的Web应用程序的myapp / logs文件夹中。我应该为文件做什么。
这是目录
答案 0 :(得分:2)
现在它将保存在IDE的当前工作目录中(我猜是Eclipse或STS)。将文件放在项目结构中并不是一个好主意,因为在将应用程序部署到任何地方后,该结构将不存在。
在Spring中,您可以在web.xml中定义一个属性,以创建位置变量:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>mywebapp.root</param-value>
</context-param>
然后在配置中添加一个变量:
log4j.appender.info.File=${mywebapp.root}/logs/mylog.log
如果您必须将其存储在应用程序中,您还可以通过使用&#34; programmatically来确定ServletContext.getRealPath("."),以找出部署应用的位置,然后设置文件的路径。
答案 1 :(得分:0)
在正常情况下,web-app会检查类路径根目录下的日志文件。要从自定义位置加载文件,请查看以下帖子
Change location of log4j.properties
How to use custom file instead of log4j.properties
编辑:
从op的注释中,在项目路径中生成日志文件,放置日志目录。你可以简单地指定为,
log4j.appender.file.File= logs/mylog.log