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

如何在项目级配置log4j?

陆翰学
2023-03-14

我有一个Java项目(注意:-它不是一个web项目)。我正在使用log4j记录消息。

目前,我所遵循的步骤如下:

>

  • 在项目级别创建了log4j.properties文件

    声明的记录器Logger=Logger.getLogger(MyClass.Class);

    然后使用->PropertyConfigurator.configure(“log4j.properties”)配置属性;

    然后使用logger.debug(“message”);记录我的留言。

    但我觉得这种方法的问题是,我必须在项目中的所有类中执行相同的操作,即从声明logger开始的所有步骤。

    有没有什么方法可以让我在项目中的一个地方只配置一次logger变量,然后只使用logger的声明变量来记录消息?

  • 共有1个答案

    丌官昊天
    2023-03-14

    IMHO您不应该有一个用于正常日志记录目的的公共日志记录程序。每个类都应该通过logger logger=logger.getlogger(myclass.class);创建自己的记录器。当你的类文件很少的时候,这似乎是一个开销,但是遵循这一点会更好。
    通过遵循这种记录器模式,您可以在配置级别(log4j.properties中)灵活地控制任何级别(整个应用程序、任何包或任何类)的日志记录级别。

    您可以在类路径中提供log4j.properties,log4j将自动拾取它。
    PropertyConfigurator.Configure(“log4j.properties”);不是必需的。

    但是,如果您想这样做,您可以创建自己的记录器类myLogger,其中包含用于日志记录的static方法,这些方法将包装对记录器的实际调用。然后,可以从您的个人类调用myLogger.log()myLogger.debug()进行日志记录。

     类似资料:
    • 我试图将mapstruct添加到gradle spring boot项目中。这里是构建的相关部分。gradle文件: 这是我的界面: 我在两个地方收到了我的映射器接口的生成实现:首先是预期的,但我的代码没有使用:构建/生成/源/... /LogMessageMapperImpl 第二个意外但由我的代码使用:app/src/main/generated//LogMessageMapperImpl 如

    • 我成功地安装了所有的flatter需求,包括android studio的flatter和dart插件,没有任何遗漏。我在没有选择Kotlin支持的情况下创建了一个新的颤振项目,但在创建该项目后,我得到了与Kotlin相关的问题代码 用于使用Gradle(1.2.71)构建的Kotlin版本不同于捆绑在IDE插件(1.3.50)中的版本 这就是构建。gradle文件代码: 另一个问题是在这个dir

    • 项目配置 项目配置 配置简介 CAT上项目名称:项目接入CAT后的唯一标识,来识别自己 事业部:项目所属事业部 产品线:项目所属产品线 负责人:项目负责人,该项不做为告警联系人 项目组邮件:项目负责人邮件,或项目组产品线邮件,多个邮箱由英文逗号分割,不要留有空格;作为发送告警邮件、微信的依据 项目组号码:项目负责人手机号;多个号码由英文逗号分隔,不要留有空格;作为发送告警短信的依据 机器分组配置

    • 试图安装angular-CLI来与angular 2 rc5一起工作,我面临一些错误: 2.在webstorm项目配置中,我启用了:(没有帮助) 3.在tsconfig中,我将target从es5改为es6,现在webstorm识别promise/then/catch,但typescript抛出了他不知道的错误,现在我在每个组件的每个类上都面临新的错误: 这很奇怪,因为在tsconfig.json

    • 问题内容: 无论项目属性设置为什么,Eclipse的Google插件都会在 web.xml中 自动生成这些行。 有没有办法阻止插件这样做? 问题答案: 在项目属性的构建器下,如果您禁用了Google App Engine项目更改通知程序,则不会再修改web.xml。但是,由于对GAE环境不够敏锐,我无法确定禁用此构建器的副作用是什么。

    • 配置子项目 到目前为止你已经把ToDo项目根据功能拆分成多个模块,接下来可以用之前的方法来定义构建逻辑,下面有几点需要主要: 根目录和子目录使用相同的group和version属性值 所有的子目录都是Java项目需要Java插件来正常工作,所以你只需要在子项目中应用Java插件 web子项目是唯一一个依赖外部库的项目,它需要打包成WAR而不是JAR 子项目之间可以定义模块依赖 接下来你将学习如何定