我试图实现log4j日志记录MyTest
类。代码的包结构如下所述。目前我的log4j.properties放在try
包的资源下。
我有时确实会得到日志,但有时调试器会显示“log4j: WARN无法为记录器找到附加程序”所以我最后得到了:
基本页。班
package com.trial.pages;
public class BasicPage{
protected static final Logger pageLogger = Logger.getLogger(BasicPage.class);
<some code goes here>
}
FirstPage.class
package com.trial.pages.mobile;
import package com.trial.pages;
public class FirstPage extends BasicPage {
public void pageMethod() {
pageLogger.info("These are logs from the Pages.");
}
}
最基本的。班
package com.core.data;
public class BasicTest{
protected static final Logger testLogger = Logger.getLogger(BasicTest.class);
<some code goes here>
}
我的测试。班
package com.trial.tests.mobile;
import com.trial.pages.mobile.FirstPage;
import com.core.data.BasicTest;
public class MyTest extends BasicTest{
public void someMethod(){
testLogger.info("These are the logs from the test activities.");
new FirstPage.pageMethod();
}
}
一般来说,只要放一个log4j。将xml文件放入src/main/resources
和src/test/resources
中,让log4j自己找到它:不需要代码,默认的log4j初始化将获取它。
2.同一个项目可以在不同的包中有多个log4j.properties吗?
我不会这样做,因为类加载器只取找到的第一个。您可以在单个属性文件中为不同的记录器进行多种配置。
Log4j-属性-文件-多个日志记录器-在同一类
how-can-i-create-2-separate-log-files-with-one-log4j-config-file
log4j-多记录器-级别和追加器
编辑1:
你能帮我关于log4j.properties何时以及如何移动到目标/类的信息吗?
log4j。构建项目时,属性文件将自动移动。但是文件应该位于src/main/resource/
中,以便自动移动。
如果是这种情况,则不需要以编程方式配置属性配置器。Log4j可以直接使用。
主要内容:Logger日志方法的例子,Logger的日志方法Logger 类有多种方法来处理日志记录活动。Logger 类不允许我们实例化一个新的 Logger 实例,但它支持两种获取 Logger 对象的静态方法: 两个方法中的第一个返回应用程序实例的根记录器,它没有名称。 任何其他命名的 Logger 对象实例都是通过传递记录器的名称由第二种方法获得的。记录器的名称可以是您传递的任何字符串,通常是类或包名称,如下所述: Logger日志方法的例子 Lo
当前的日志阈值是关于日志级别(TRACE,DEBUG,INFO,WARN,ERROR和FATAL)对我来说是不够的。我有一个千兆字节的日志从第三方库写入紧急情况下的错误类别。我不想打开这个日志,因为我想看到这个问题日志。大多数日志都是连续重复的堆栈跟踪。所以我想要一种可以 1)跳过日志,如果阈值(kb/sec)是真实的(我的意思是当我们写很多日志-我们可能会跳过一些)或 2)如果在一段时间内打印了
我正在尝试创建基于不同级别的“不同”附加器,但到目前为止,我找不到一种隔离日志级别的方法。。。。 我需要一种方法,能够土地只有INFO优先排序的日志被追加。因为INFO级别的日志记录也会显示DEBUG标记的日志记录器...这对我没有帮助。 另一件事是,对于“相同”包,我无法定义不同的日志附加器: 在这里,我得到了如下错误:
问题是它不在catalina- .log中记录,而是在catalina中记录。似乎没有正确配置appender。文件catalina似乎是从log4j.appender.catalina.file=${catalina.home}/logs/catalina创建的。在配置中。 有人能帮我解决这个问题吗?
我知道有很多关于这个的问题,但是我确实经历了所有的问题,并且有点困惑自己,我列出了我遵循的步骤,请让我知道我把它搞砸了。 1) 我只想在应用程序级别使用Log4j,所以需要复制WL_HOME/server/lib/wllog4j。jar和log4j。jar在Domail_Home/Lib? 2) 我使用的是Maven,我在pom中添加了Log4j依赖项。xml[war]。我把战争藏在耳朵里。 3)
我想用SpringBoot1.5配置log4j。10.释放。我排除了,并添加了log4j依赖项。在spring启动之前,我有所有日志,但在spring启动之后,init日志停止。 控制台日志: 和log4j2。xml文件: 你知道我做错了什么吗?