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

如何正确初始化log4j?

陈宜修
2023-03-14
问题内容

将log4j添加到我的应用程序后,每次执行我的应用程序时,都会得到以下输出:

log4j:WARN No appenders could be found for logger (slideselector.facedata.FaceDataParser).
log4j:WARN Please initialize the log4j system properly.

看来这意味着缺少配置文件。此配置文件应位于何处,什么是良好的入门内容?

我使用纯Java开发桌面应用程序。因此没有网络服务器等…


问题答案:

Log4j默认情况下,在classpath上查找名为log4j.properties或的文件log4j.xml

您可以按照此处所述通过设置系统属性来控制它用来初始化自身的文件(查找“默认初始化过程”部分)。

例如:

java -Dlog4j.configuration=customName ....

将导致log4j在类路径上查找名为customName的文件。

如果您遇到问题,我发现打开log4j.debug会有所帮助:

-Dlog4j.debug

它将向System.out打印很多有用的信息,包括它用来初始化自身的文件,配置的记录器/附加器以及如何使用的信息。

配置文件可以是Java属性文件或xml文件。这是从log4j简介文档页面获取的属性文件格式的示例:

log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log

log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n


 类似资料:
  • 我有一个自定义模板文件,呈现一些产品和它们的添加到购物车按钮,我正在尝试手动实现。当按下Add to Cart时,页面将重新加载,包含一些数据的$_POST变量将添加新产品。“cart_contents_count”还反映添加的项。然而,当我转到购物车页面时,它是空的。请看下面的代码。 然而,当我转到正常的默认商店页面(/shop/)并从那里添加一个产品时,我的购物车页面表明已经添加了该产品。当我

  • 问题内容: 我正在设置用于学习JavaEE7中CDI的基本环境。我有以下代码可以启动。只是启动和关闭。 我正在控制台上关注。 有问题的线是。这仅表示依赖注入将不起作用。但是我不确定是什么问题。我已经添加了。我什至没有达到初始化对象的目的,那为什么会出现这个问题呢? Weld的官方文档还给出了阅读此答案后得到的相同代码。“ Antonio Goncalves”撰写的“ Beginning Java

  • 我们的项目中有一个不可替代代币状态和不可替代代币合约的自定义实现。我们正在使用下面的代码来发行我们的自定义不可替代代币。 当试图将上面获得的事务构建器转换为有线事务时(< code > builder . towiretransaction(service hub);)我们在下面的堆栈跟踪中得到一个错误。

  • 我正在开发基于Apache Flink的金融反欺诈系统。我需要根据金融交易计算许多不同的总量。我使用Kafka作为流数据源。例如,在平均交易金额计算中,我使用MapState存储总交易计数和每张卡的总金额。存储在Apache Accumulo的聚合数据。我知道Flink中的持久状态,但这不是我需要的。在计算开始之前,有没有办法将初始数据加载到Flink中?是否可以通过使用两个连接的流和来自Accu

  • 问题内容: 这是错误消息- 这是该类中的调用- 这是我的log4j.properties文件的内容- 属性文件在类路径上。 一切对我来说都很好,这是怎么回事?如果不是门槛也可拍摄记录? 问题答案: 好了,所以我通过更改 对此 显然,您必须将日志记录级别指定为第一个?如果我浪费任何人的时间,我深表歉意。 另外,我决定回答我自己的问题,因为这不是类路径问题。

  • 我正在努力学习硒。 我收到以下错误消息: log4j:WARN找不到记录器(org.apache.http.client.protocol.RequestAddCookies)的追加器。log4j:警告请正确初始化log4j系统。log4j:请参阅http://logging.apache.org/log4j/1.2/faq.html#noconfig更多信息。 因此,我下载了文件,我在谷歌上搜索