gpt4 book ai didi

java - 为 Java 应用程序实现记录器

转载 作者:搜寻专家 更新时间:2023-11-01 02:29:03 24 4
gpt4 key购买 nike

我正在尝试使用 apache commonn 日志记录和 log4j.xml 文件作为配置文件来实现记录器。

所以在实际的 java 代码中,我将日志写为

我正在使用 appache 通用日志记录

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

我正在记录信息,例如 in。我正在为每个类创建一个日志实例

 private static Log    logger  = LogFactory.getLog( MyClass.class );
private static final String name ="SAM";
logger.info("name= "+name);
  1. 那么现在我的问题是,像这样实现记录器会产生性能问题吗?

  2. 是否需要像这样查看日志

    if ( log.isInfoEnabled( ) ) 
    {
    log.info( "Info message" );
    }

混淆主要是因为在 Apache 通用日志记录中他们提到要这样做,而在 log4j 中他们提到这是不必要的。

每次我们在文件中写入日志时?

-山姆

最佳答案

  1. 是也不是,日志记录总是会降低您的性能,但有些功能比其他功能更昂贵,例如获取调用类/方法名称使用反射并且非常慢。但是普通的 logfuntion 并没有那么昂贵如果你在调用日志函数中没有昂贵的语句(这将在每次检查日志级别之前进行评估。在这种情况下你可以使用.isLevelEnabled检查以防止评估)。与记录到文件相比,记录到控制台输出的时间也更长。您可以通过谷歌搜索和 log4j 的常见问题解答/手册找到更多相关信息。

  2. 不必在登录前检查日志级别。这是在日志函数本身内完成的。因此,每个级别的不同方法或通用日志方法中的级别参数。

关于java - 为 Java 应用程序实现记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13985534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com