java tomcat日志将存储在单独的文件中
我开发了一个spring mvc应用程序,它在tomcat上运行得很好,但是我从tomcat服务器上得到的日志在控制台上,我希望日志存储在一个文件中,换句话说,我希望tomcat日志和控制台上显示的事件存储在一个文件中,我试过apache的log 4j,下面是我正在使用的属性文件
### direct messages to file or.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=C:/logs/springmvc.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1} - %m%n
log4j.appender.file.append=true
### set log levels - for more verbose logging change 'info' to 'debug' ##
log4j.rootCategory=ALL, file
log4j.logger.Demo=\=debug
log4j.logger.org.eclipse=debug
还有主课。。我想在上面写日志。要记录的信息声明
public class HelloWorldController extends AbstractController{
protected final Log logger = LogFactory.getLog(getClass());
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
logger.info("Returning hello view");
ModelAndView model = new ModelAndView("HelloWorldPage");
model.addObject("msg", "saral saxreva");
return model;
}
}
但是这些日志并不是在单独的文件中生成的,请告诉我,因为我对此感到困惑
# 1 楼答案
我认为要启用登录web应用程序,您需要一些侦听器(或servlet)来初始化它。例如,在春天,你需要在你的网站上定义。xml侦听器:
在互联网上有很多关于这个的信息。这是来自谷歌的第一批。下面是另一个link,其中描述了如何在servlet中或在没有Spring的侦听器中初始化记录器
而且最好使用log4j。rootLogger而不是log4j。rootCategory,因为last已被弃用
# 2 楼答案
springmvc。程序启动时创建的日志文件?这是log4j是否被正确拾取的第一个迹象
如果log4j设置正确,您将看到springmvc。应用程序启动时创建的日志文件
然后在log4j属性中,尝试:
同时也要去掉另外两个