发布应用后,在tomcat配置下,log4j无法每天生成一个日志文件,而是覆盖上一天的文件,求大神看看

时间:2022-11-01 17:53:48
项目目标是:
1.项目配置在服务器的任意位置,然后在tomcat的server.xml中配置Host指向项目文件夹,Context配置path="",即可以通过url直接访问项目。
配置如下:
    <Host name="localhost"   appBase="D:\lngwar"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
<Context path="" debug="0" docBase="/PurchaseSales" reloadable="true">
                </Context>

      </Host>

2.项目每天生成一个日志文件,通过log4j的DailyRollingFileAppender进行实现,但是当配置了目标1的toncat配置后,每次的日志文件都会覆盖掉上一天的,去掉上述server.xml的配置就没有问题。
配置如下:
log4j.rootLogger=DEBUG,DayRollingFile

log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.org.apache=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

log4j.appender.DayRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DayRollingFile.Encoding=UTF-8
log4j.appender.DayRollingFile.File=D:/lngwar/PurchaseSales/my_super/log/log
log4j.appender.DayRollingFile.DatePattern='.'yyyy-MM-dd

log4j.appender.DayRollingFile.Append=true
log4j.appender.DayRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.DayRollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n


但是小弟需要两个目标都实现,即可通过url直接访问项目,且每天生成日志文件,不知应该如何配置,请大神答疑??

4 个解决方案

#1


你有日志输出吗?
每天确保输出一条以上,看看

#2


有输出
我改为
log4j.appender.DayRollingFile.DatePattern='.'yyyy-MM-dd-HH-mm  

然后每分钟都会覆盖掉前一分钟的日志文件

#3


后来如何解决的?求解

#4


请问楼主如何解决该问题,小弟也遇到了这个...好蛋疼啊...

#1


你有日志输出吗?
每天确保输出一条以上,看看

#2


有输出
我改为
log4j.appender.DayRollingFile.DatePattern='.'yyyy-MM-dd-HH-mm  

然后每分钟都会覆盖掉前一分钟的日志文件

#3


后来如何解决的?求解

#4


请问楼主如何解决该问题,小弟也遇到了这个...好蛋疼啊...