当前位置: 首页 > 知识库问答 >
问题:

通过glassfish log4j控制自定义记录器

经慈
2023-03-14

我有一个Web应用程序,使用log4j。我在 /WEB-INF/classes/log4j.properties文件中配置了一个自定义记录器,如下所示:

log4j.rootLogger=ERROR, CNSL

log4j.appender.CNSL=org.apache.log4j.ConsoleAppender
log4j.appender.CNSL.Target=System.out
log4j.appender.CNSL.layout=org.apache.log4j.PatternLayout
log4j.appender.CNSL.layout.ConversionPattern=%d{HH:mm:ss:SSS} %p %c (%F:%L) - %m%n


log4j.logger.my.app = INFO

日志消息按预期写入server.log,但我试图找到一种方法来控制自定义记录器日志级别通过glassfish服务器。

我尝试从命令中创建glassfish中的记录器:

asadmin set-log-level my.app.level=WARNING 

但是,即使asadmin命令将记录器设置为警告,所有INFO消息仍然会被记录。有没有办法控制在log4j.properties中配置的自定义记录器的记录器级别?

共有2个答案

段恩
2023-03-14

asadmin set log level命令控制glassfish日志记录,而您希望控制log4j日志记录。更好的替代方案是使用JMX Mbean,这样就可以在运行时动态控制日志级别。几乎没有链接可以提供帮助。

夏飞鹏
2023-03-14

如果使用java,可以通过Glassfish中的控制台控制日志级别。util。日志作为web应用程序中的底层日志框架。

您还可以在代码中使用SLF4J,并使用java。util。日志作为底层日志框架(通过slf4j-jdk14.jar)。

 类似资料:
  • 我有一个使用slf4j进行日志记录的应用程序。现在我想添加一个功能,每当我记录错误时,就会调用一个特定的url。目前,我在应用程序级别添加了一个包装器方法,该方法发送http请求,然后调用logger方法。但这样我就错过了一些输出,一些异常只是被记录下来,而没有发送相应的请求。我正在尝试创建我的自定义logger类。我的问题是应该扩展哪些类(或要实现的接口)。我无法扩展Logger类,因为它的构造

  • 我们可以dsable日志打印一些自定义创建记录器吗? 我想禁用文件记录器控制台中的打印消息

  • 我正在通过数据库开发一组rest资源,并使用Spring Data Rest公开核心CRUD功能,以直接与存储库交互。 在我的简化示例中,我有以下用户: 和用户自己的项目: 直接与存储库交互是可以的,所以对于创建用户(其他简单实体),问题来自于创建项目。项目有大量基于用户表单输入的服务器派生字段,所以我编写了一个自定义控制器来生成它们并保存结果。为了持久化结果,我需要将项目与其拥有的用户相关联。我

  • 将PostSharp用于C#应用程序,我有以下场景: Namespace_ACustomLoggingMethod Namespace_B.DoThings thingMethod(实际上是几种不同的方法) DoMomthingMethod调用CustomLoggingMethod,它以所需的格式创建日志条目并且运行良好。正如预期的那样,日志条目将源记录为CustomLoggingMethod,我

  • 本文向大家介绍spring security自定义认证登录的全过程记录,包括了spring security自定义认证登录的全过程记录的使用技巧和注意事项,需要的朋友参考一下 spring security使用分类: 如何使用spring security,相信百度过的都知道,总共有四种用法,从简到深为: 1、不用数据库,全部数据写在配置文件,这个也是官方文档里面的demo; 2、使用数据库,根据

  • 我尝试用自定义控制器制作一个自定义组件。自定义组件已经显示在应用程序上,但我未能向其添加属性。 项目结构: null 布尔马尔科 完全错误: 原因:java.lang.nullPointerException:无法调用“javafx.scene.image.imageeview.setimage(javafx.scene.image.image)”,因为“controller.topbarbtn.