首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >tomcat 8.0x java.util.logging.Logger.log到文件

tomcat 8.0x java.util.logging.Logger.log到文件
EN

Stack Overflow用户
提问于 2018-08-01 00:30:30
回答 1查看 635关注 0票数 0

我正在使用

代码语言:javascript
复制
private static final java.util.logging.Logger LOGGER = java.util.logging.Logger.getLogger(MyClass.class.getName());
LOGGER.log(Level.INFO, "log message);

样式来登录我的java web应用程序。

我在Windows10上从startup.bat (项目需求)启动Tomcat8.0.21。我可以在控制台窗口中看到所有日志记录,包括java.util.logging.Logger.log日志记录。但我在tomcat标准日志文件%tomcat%/logs/catalina.2018-07-31.loglocalhost.2018-07-31.log中看不到任何java.util.logging.Logger.log日志记录。

我可以看到所有的tomcat日志,但不能看到我的web应用程序日志。我需要在生产环境中的客户机上跟踪我的web应用程序的一些问题,因为我不能在本地计算机上对这些问题进行建模。

我需要在%tomcat%/logs/catalina.<current_date>.log中查看我的日志和其他tomcat日志。最好对所有项目使用tomcat日志记录配置。但是使用每个项目的配置也是可以接受的。我用谷歌搜索了一整天,但我找到的所有食谱对我都不起作用。

请不要提供使用log4j。使用java.util.logging是一个项目需求。这是我的%tomcat%/conf/logging.properties文件

代码语言:javascript
复制
handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler

.handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler

.level = INFO

1catalina.org.apache.juli.AsyncFileHandler.level = ALL
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.

2localhost.org.apache.juli.AsyncFileHandler.level = ALL
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.

3manager.org.apache.juli.AsyncFileHandler.level = ALL
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.

4host-manager.org.apache.juli.AsyncFileHandler.level = ALL
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.

java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = ALL
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = ALL
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = ALL
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler

mycompany.package1.level = ALL
mycompany.package2.level = ALL
utils.jaxws.level = ALL
EN

回答 1

Stack Overflow用户

发布于 2018-08-01 05:12:04

从你的logging.properties来看,你似乎正在尝试设置记录器包的级别:

代码语言:javascript
复制
mycompany.package1.level = ALL
mycompany.package2.level = ALL
utils.jaxws.level = ALL

只有在指定了所有确切的记录器名称,或者在代码中必须创建并保持对mycompany.package1mycompany.package2记录器的强引用时,才能设置记录器的级别。

代码语言:javascript
复制
private static final Object loggerParent = java.util.logging.Logger.getLogger("mycompany.package1");
private static final java.util.logging.Logger LOGGER = java.util.logging.Logger.getLogger(MyClass.class.getName());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51618099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档