java - 如何修复我的日志记录配置文件以以正确的格式返回正确的日志级别?
问题描述
我是一个相当初级的开发人员,并试图在我的代码中实现 Logging-Profiles,以便不同的组件可以使用不同的日志记录级别。但是,这似乎不起作用。有两个关键问题:
调整日志记录级别似乎对某些组件产生的内容没有影响我已经更新了我的 MANIFEST.MF 以包含“配置文件”,它似乎认识到这一点并将一些条目发布到日志文件中,但似乎严重依赖于根级别而不是每个类别。特定的包日志级别似乎不起作用
一些条目在同一行返回,我该如何解决?我似乎在网上找不到任何有同样问题的东西
10:23:18,047 INFO [stdout] (genericClass-20) 10:23:18.047 [genericClass-20] 错误 org.hibernate.engine.jdbc.spi.SqlExceptionHelper - javax.resource.ResourceException: IJ000453: 无法获得托管连接对于java
这就是我在独立版中所拥有的:
<logging-profiles>
<logging-profile name="profile">
<size-rotating-file-handler name="SIZE" autoflush="true">
<file relative-to="jboss.server.log.dir" path="profile.log"/>
<rotate-size value="30m"/>
<max-backup-index value="99"/>
<append value="true"/>
</size-rotating-file-handler>
<logger category="com.myproject" use-parent-handlers="false">
<level name="DEBUG"/>
<handlers>
<handler name="SIZE"/>
</handlers>
</logger>
<logger category="org.apache" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="SIZE"/>
</handlers>
</logger>
<logger category="org.hibernate" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="SIZE"/>
</handlers>
</logger>
<logger category="org.springframework" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="SIZE"/>
</handlers>
</logger>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="SIZE"/>
</handlers>
</root-logger>
</logging-profile>
</logging-profiles>
解决方案
查看您的配置,您至少应该在文件中获取com.myproject
日志profile.log
。您可能不会org.hibernate
在该文件中获得任何日志,因为任何全局模块将始终记录到默认系统日志配置中。
最后,我认为您不需要日志配置文件即可使其正常工作。您只需要在日志子系统上定义size-rotating-file-handler
和您的处理程序。com.myproject
以下是您要用于配置日志记录子系统的 CLI 命令
/subsystem=logging/size-rotating-file-handler=SIZE:add(autoflush=true, append=true, rotate-size="30m", max-backup-index=99, file={relative-to="jboss.server.log.dir", path="profile.log"})
/subsystem=logging/logger=com.myproject:add(level=DEBUG)
/subsystem=logging/root-logger=ROOT:add-handler(name=SIZE)
给定默认配置以及这些命令,所有消息都将记录到默认控制台和文件处理程序以及您的SIZE
处理程序中。默认文件处理程序和您的SIZE
处理程序都将从com.myproject
.
推荐阅读
- java - 使用来自外部 jar 库的自定义控件在 FXML 视图中加载
- python - Django 表单保存
- python - Format output of re.findall()
- node.js - IPFS 中两个节点之间的 Pubsub
- spring - Spring Boot 2.1.1.RELEASE 的 *autoconfigure.security.oauth2 和 *security.oauth2 类的类比是什么?
- c++ - 创建随机邻接矩阵,每个节点的最小度数为“k”
- f# - F# 加载程序集时出现问题:“无法加载一种或多种请求的类型”
- python-3.x - 如何在 PyQt5 中删除 QGroupBox 中的所有小部件?
- python - 如何使用 RegistryManager 创建和 EdgeDevice
- python - 如何从 Flask Web 服务器中运行 Python 程序?