问题描述
我有一个简单的log4j.property文件和一个使用log4j的简单程序.但是当我运行罐子时,我只看到这个
log4j:WARN No appenders could be found for logger (package com.mycompany.hellolog4j). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
这是我使用logger的方式:
package com.mycompany.hellolog4j; import java.io.File; import java.io.IOException; import org.apache.log4j.*; public class SimpleLogging { public static void main(String args[]) throws IOException { Logger logger = Logger.getLogger(SimpleLogging.class.getPackage().toString()); // SimpleLogging demo = new SimpleLogging(rbName); //demo.doLogging(name); logger.info("printing the message..."); } }
这是我的pom.xml
的一部分<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.3.1</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathLayoutType>custom</classpathLayoutType> <mainClass>com.mycompany.hellolog4j.SimpleLogging</mainClass> <customClasspathLayout>../lib/log4j.jar ../log4j.properties</customClasspathLayout> </manifest> </archive> </configuration> </plugin>
这是我的log4j.properties
log4j.rootLogger = DEBUG, testAppender log4j.logger.com.mycompany.hellolog4j=DEBUG, testAppender log4j.appender.testAppender=org.apache.log4j.ConsoleAppender log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout log4j.appender.testAppender.layout.conversionPattern=%p-%m%n
现在从我的项目目录中运行JAR文件.这是我的项目目录
drwxr-xr-x 5 proger users 4096 2010-10-15 22:59 ./ drwxr-xr-x 3 proger users 4096 2010-10-15 22:27 ../ drwxr-xr-x 2 proger users 4096 2010-10-14 22:54 lib/ -rw-r--r-- 1 proger users 291 2010-10-15 23:00 log4j.properties -rw-r--r-- 1 proger users 1689 2010-10-15 22:59 nbactions.xml -rw-r--r-- 1 proger users 1987 2010-10-15 22:56 pom.xml drwxr-xr-x 4 proger users 4096 2010-10-13 23:01 src/ drwxr-xr-x 6 proger users 4096 2010-10-15 22:59 target/
推荐答案
将log4j.properties文件放入src/main/resources中,以便将其捆绑到您的jar文件中,从而将其捆绑到classpath上.
其他推荐答案
在\weblogic\domain1\bin\setDomainEnv.cmd
中添加此行set PATH=%WL_HOME%\server\native\win\x64;%PATH%
问题描述
I have a simple log4j.property file and a simple program that use log4j. But when I run my jar I see only this
log4j:WARN No appenders could be found for logger (package com.mycompany.hellolog4j). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Here is how I use logger:
package com.mycompany.hellolog4j; import java.io.File; import java.io.IOException; import org.apache.log4j.*; public class SimpleLogging { public static void main(String args[]) throws IOException { Logger logger = Logger.getLogger(SimpleLogging.class.getPackage().toString()); // SimpleLogging demo = new SimpleLogging(rbName); //demo.doLogging(name); logger.info("printing the message..."); } }
And this is part of my pom.xml
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.3.1</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathLayoutType>custom</classpathLayoutType> <mainClass>com.mycompany.hellolog4j.SimpleLogging</mainClass> <customClasspathLayout>../lib/log4j.jar ../log4j.properties</customClasspathLayout> </manifest> </archive> </configuration> </plugin>
And here is my log4j.properties
log4j.rootLogger = DEBUG, testAppender log4j.logger.com.mycompany.hellolog4j=DEBUG, testAppender log4j.appender.testAppender=org.apache.log4j.ConsoleAppender log4j.appender.testAppender.layout=org.apache.log4j.PatternLayout log4j.appender.testAppender.layout.conversionPattern=%p-%m%n
Now from my project directory I run jar file. This is my project directory
drwxr-xr-x 5 proger users 4096 2010-10-15 22:59 ./ drwxr-xr-x 3 proger users 4096 2010-10-15 22:27 ../ drwxr-xr-x 2 proger users 4096 2010-10-14 22:54 lib/ -rw-r--r-- 1 proger users 291 2010-10-15 23:00 log4j.properties -rw-r--r-- 1 proger users 1689 2010-10-15 22:59 nbactions.xml -rw-r--r-- 1 proger users 1987 2010-10-15 22:56 pom.xml drwxr-xr-x 4 proger users 4096 2010-10-13 23:01 src/ drwxr-xr-x 6 proger users 4096 2010-10-15 22:59 target/
推荐答案
Put the log4j.properties file in src/main/resources so that it is bundled into your JAR file, and thus on the classpath.
其他推荐答案
Add this line in \weblogic\domain1\bin\setDomainEnv.cmd
set PATH=%WL_HOME%\server\native\win\x64;%PATH%