相关疑难解决方法(0)

我应该把log4j.properties文件放在哪里?

我使用netbeans 6.7.1和glassfish v2.1编写了一个Web服务项目,将log4j.properties放到项目的根目录并使用:

static Logger logger = Logger.getLogger(MyClass.class);
Run Code Online (Sandbox Code Playgroud)

在构造函数中:

PropertyConfigurator.configure("log4j.properties");
Run Code Online (Sandbox Code Playgroud)

和功能:

logger.info("...");
logger.error("...");
// ...
Run Code Online (Sandbox Code Playgroud)

但是,它是错误信息(实际上,我试图将它几乎放在我能够实现的每个目录上):

log4j:ERROR Could not read configuration file [log4j.properties].
java.io.FileNotFoundException: log4j.properties (The system cannot find the file specified)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:106)
        at java.io.FileInputStream.<init>(FileInputStream.java:66)
        at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:297)
        at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:315)
        at com.corp.ors.demo.OrsDemo.main(OrisDemo.java:228)
log4j:ERROR Ignoring configuration file [log4j.properties].
log4j:WARN No appenders could be found for logger (com.corp.ors.demo.OrsDemo).
log4j:WARN Please initialize the log4j system properly.
Run Code Online (Sandbox Code Playgroud)

示例项目可以从http://www.91files.com/?N3F0QGQPWMDGPBRN0QA8获得

java netbeans log4j glassfish

130
推荐指数
11
解决办法
28万
查看次数

为Eclipse运行的所有JUnit测试指定自定义log4j.properties文件

我想为VM argument从Eclipse运行的所有JUnit测试指定一个特定的Eclipse

-Dlog4j.configuration=log4j-dev.properties
Run Code Online (Sandbox Code Playgroud)

这是因为我希望所有JUnit测试而不是默认log4j.properties文件都能获取特定的log4j配置文件.

到目前为止,我必须为每个JUnit测试指定上面的VM argument(in Run Configurations -> Arguments -> VM arguments),这使得它很麻烦,因为我有很多测试.

eclipse junit log4j

15
推荐指数
1
解决办法
2万
查看次数

Log4j 不打印到控制台

我将 log4j 的依赖项放入 pom.xml 文件中:

<dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.10.0</version>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

写入以下 log4j.properties 文件:

log4j.rootLogger=信息、标准输出、控制台 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j. appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

并将此文件放在“资源”文件夹下。

最后,我输入环境变量 LOG4J_log4j.configurationFile = log4j.properties

尽管如此,当我运行我的应用程序时,该行:

logger.info("Hello");
Run Code Online (Sandbox Code Playgroud)

不向控制台写入任何内容。你知道可能是什么问题吗?

java logging log4j2

3
推荐指数
1
解决办法
2万
查看次数

log4j.properties,放在哪里

根据log4j手册,我应该将log4j.properties放到src文件夹中.我将此文件复制到我认为会影响log4j的所有可能位置.但是,这不起作用.

TestEM类包含许多单元测试函数(我使用testng).我运行其中一个测试函数,它引用了feedback.strategy包中的一个类.

我的日食项目

以下是log4j.properties文件的内容:

#log for class1
log4j.category.Demo1=DEBUG, dest1
log4j.appender.dest1=org.apache.log4j.FileAppender
log4j.appender.dest1.File=C:/Users/Asus/workspace/FeedbackProcess/logs/class1.log
log4j.appender.dest1.layout = org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern= %d %p [%t] (%c) \u2013 %m%n
Run Code Online (Sandbox Code Playgroud)

java eclipse log4j

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×3

log4j ×3

eclipse ×2

glassfish ×1

junit ×1

log4j2 ×1

logging ×1

netbeans ×1