当前位置: 首页 > 面试题库 >

记录器与System.out.println

沃皓轩
2023-03-14
问题内容

我正在使用PMD插件进行日食,使用System.out.println()说明时出现错误:

使用System。(out | err).print,请考虑使用记录器。

我的问题是-什么是记录仪?如何用于打印到屏幕上?为什么会更好?


问题答案:

请参阅log4j的简短介绍。

问题在于System.out用于打印调试或诊断信息。这是一种不好的做法,因为您无法轻松更改日志级别,关闭日志级别,对其进行自定义等。

但是,如果您合法System.out地用于向用户打印信息,则可以忽略此警告。



 类似资料:
  • 问题内容: 我在项目中第一次使用log4j。一位程序员告诉我,使用被认为是一种不好的风格,而log4j类似于当今用于记录事务的标准。 我们进行了大量的JUnit测试- 结果很难测试。 因此,我开始将log4j用于控制台控制器类,该类仅用于处理命令行参数。 似乎可以工作: 产生: 我对此有 两个 问题: 根据我的基本理解,使用此记录器应该为我提供一个方便的选项,以便使用时间戳编写日志文件-而不是向控

  • 问题内容: 我想在我的应用程序中将slf4j + logback用于两个目的-日志和审计。 对于日志记录,我以常规方式记录日志: 对于审计,我创建一个特殊的命名记录器并登录到它: 登录配置: 问题:通过审核记录器记录的消息出现两次-一次在AUDIT_LOGGER下,一次在根记录器下。 14:41:57.975 [main]调试com.gammay.example.Main–> main() 14:

  • 我有以下:Source-Kafka topic(trans)Channel-memory Sink-Hdfs(avro _ event) kafka主题trans中的数据是使用c#生产者编写的,并且有数千条avro记录。当我运行我的水槽消费者时,它开始将数据下沉到hdfs。问题是数据的格式是:模式数据模式数据 而不是: 模式数据数据 我猜这是因为flume需要一个带有{header} {body}

  • 假设我有一个输入文件,在HDFS中为这个文件创建了三个块。假设我有三个数据节点,每个数据节点存储一个块。如果我有3个输入拆分,则3个映射器将并行运行,以处理各自数据节点的本地数据。每个映射器使用输入格式和记录读取器以键值对的形式获取输入。此场景使用TextInputFormat,其中记录是来自文件的完整文本行。 这里的问题是,如果在第一个块的末尾有记录中断,会发生什么。 1)Hadoop如何读取此

  • 我已经使用创建了一个catch-all异常处理程序,以捕获所有异常并相应地进行日志记录。但是,由于某种原因,sl4j记录器无法登录到控制台。相同的记录器在我的应用程序中的其他位置都可以工作,但它在catch-all异常处理程序中不起作用。 使用了龙目岛的,但我不确定这是否与龙目岛有关。我可以看到超类()有自己的,所以我不认为发生了任何奇怪的变量隐藏,但我不确定。 我非常肯定我的日志记录配置文件和配

  • 我将slf4j日志接口与JDK logger一起用于我的web服务项目。我实际上一直在使用Java util日志记录,目前正在考虑将slf4j与JDK logger结合使用。我在ivy中包含了slf4j-jdk14-1.7.12 jar文件依赖项。xml文件 在我的一门课上,我有以下几点: 运行这个类/方法后,我没有看到任何日志输出到控制台或任何日志文件。目前使用的java util日志框架将日志