logback在tomcat默认工程中使用问题5
logback在tomcat默认工程中使用问题5导出war包部署在tomcat/webapps下,并设置为默认项目,<ContextdocBase="logbackweb...
logback在tomcat默认工程中使用问题5
导出war包部署在tomcat/webapps下,并设置为默认项目,<Context docBase="logbackweb" path="" reloadable="true"/>,结果发现logback配置中
----------------------------------------------------------------
<appender name="FILE1" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>D:/cqinfo.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<maxIndex>100</maxIndex>
<FileNamePattern>d:/cqinfo.log.%i</FileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>5MB</MaxFileSize>
</triggeringPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}[%m] %n</pattern>
</encoder>
</appender>
----------------------------------------------------------------------
5MB的控制失效了,有人遇到过么?
看了下logback源码是在rename当前活动文件和当前活动文件.1文件时失败了,
case NONE:
util.rename(getActiveFileName(), fileNamePattern
.convertInt(minIndex));
break;
有人遇到过这个问题么?有人解决了么?
项目是一个,只是webapps本身就是自动部署的,放入就可以按项目名访问了。,只是我为了不用加项目名称。又在sever.xml中设置了<Context docBase="logbackweb" path="" reloadable="true"/>,把logbackweb项目设为默认项目了,结果在重命时就是失败了,我也怀疑是tomcat把这个当成两个工程了,虽然在重命名是,执行了
this.closeOutputStream(); attemptRollover();
attemptOpenFile();
方法,估计还是有访问D:/cqinfo.log的地方,导致失败了,我也尝试改写源码,调用源码中的
public void renameByCopying(String src, String target)
不过还是不行,src文件删除不掉。
大致原因应该就是D:/cqinfo.log文件不能被操作,导致的问题。现在就是不知道这个怎么解决。 展开
导出war包部署在tomcat/webapps下,并设置为默认项目,<Context docBase="logbackweb" path="" reloadable="true"/>,结果发现logback配置中
----------------------------------------------------------------
<appender name="FILE1" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>D:/cqinfo.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<maxIndex>100</maxIndex>
<FileNamePattern>d:/cqinfo.log.%i</FileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>5MB</MaxFileSize>
</triggeringPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}[%m] %n</pattern>
</encoder>
</appender>
----------------------------------------------------------------------
5MB的控制失效了,有人遇到过么?
看了下logback源码是在rename当前活动文件和当前活动文件.1文件时失败了,
case NONE:
util.rename(getActiveFileName(), fileNamePattern
.convertInt(minIndex));
break;
有人遇到过这个问题么?有人解决了么?
项目是一个,只是webapps本身就是自动部署的,放入就可以按项目名访问了。,只是我为了不用加项目名称。又在sever.xml中设置了<Context docBase="logbackweb" path="" reloadable="true"/>,把logbackweb项目设为默认项目了,结果在重命时就是失败了,我也怀疑是tomcat把这个当成两个工程了,虽然在重命名是,执行了
this.closeOutputStream(); attemptRollover();
attemptOpenFile();
方法,估计还是有访问D:/cqinfo.log的地方,导致失败了,我也尝试改写源码,调用源码中的
public void renameByCopying(String src, String target)
不过还是不行,src文件删除不掉。
大致原因应该就是D:/cqinfo.log文件不能被操作,导致的问题。现在就是不知道这个怎么解决。 展开
1个回答
展开全部
没遇到过这个问题,但我觉得问题的原因应该是,你有两个项目在使用同一个log地址,也就是说,有两个项目都在向D:/cqinfo.log这个文件写日志吧,你确认下,猜测
追问
项目是一个,只是webapps本身就是自动部署的,放入就可以按项目名访问了。,只是我为了不用加项目名称。又在sever.xml中设置了,把logbackweb项目设为默认项目了,结果在重命时就是失败了,我也怀疑是tomcat把这个当成两个工程了,虽然在重命名是,执行了
追答
你这么配置就是两个项目,两个项目都会启动,你就为改个名,直接改项目中与WEB-INF同级目录:META-INF/context.xml这个文件不好么
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询