2016-02-27 72 views
0

我想要的log4j添加到我的web应用程序来记录服务器和客户端之间的交流,所以我说在我的pom.xml的依赖:如何log4j的添加到Web应用程序在Java中

<dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.17</version> 
    </dependency> 

和我创建了log4j.proporties:

# Root logger option 
    log4j.rootLogger=INFO, file 

    # Direct log messages to a log file 
    log4j.appender.file=org.apache.log4j.RollingFileAppender 

    #Redirect to Tomcat logs folder 
    #log4j.appender.file.File=${catalina.home}/logs/logging.log 

    log4j.appender.file.File=C:\\test.log 
    log4j.appender.file.MaxFileSize=10MB 
    log4j.appender.file.MaxBackupIndex=10 
    log4j.appender.file.layout=org.apache.log4j.PatternLayout 
    log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m% 

和下面是我的代码:

static final Logger logger = Logger.getLogger(hellologger.class); 
public static void main(String[] args) { 
String log4JPropertyFile = "C:\\Users\\xxxx\\Desktop\\log4j.properties"; 
Properties p = new Properties(); 

    try { 
     p.load(new FileInputStream(log4JPropertyFile)); 
     PropertyConfigurator.configure(p); 
     logger.info("Wow! I'm configured!"); 
    } catch (IOException e) { 


    } 
    } 

但最终我得到这个错误:

Infos: org.osgi.framework.BundleException: Unresolved constraint in bundle com.mycompany.webclient [329]: Unable to resolve 329.7: missing requirement [329.7] osgi.wiring.package; (&(osgi.wiring.package=org.apache.log4j)(version>=1.2.0)(!(version>=2.0.0))) 
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3974) 
at org.apache.felix.framework.Felix.startBundle(Felix.java:2037) 
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) 
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:1175) 
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:1153) 
at org.apache.felix.fileinstall.internal.DirectoryWatcher.processAllBundles(DirectoryWatcher.java:1146) 
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:456) 
at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:263) 

任何想法如何解决这个问题?

+0

请你发布您的代码,其中u尝试做的log4j的自动装配。您必须检查.m2,这是您的log4j.jar可用或不可用?如果存在然后删除这个jar并重新编译'pom.xml'以添加依赖项 –

+0

检查更新后的文章:)你能否向我解释更多如何检查log4j.jar – foucha

+0

去你的用户文件夹中有.m2文件夹。你可以看看这个(Windows操作系统) –

回答

0

你可以通过关于log4j的this教程。

正确解释了属性文件和pom.xml文件。产生

日志是这样的:

2014-07-02 20:52:39 DEBUG HelloExample:19 - This is debug : mkyong 
2014-07-02 20:52:39 INFO HelloExample:23 - This is info : mkyong 
2014-07-02 20:52:39 WARN HelloExample:26 - This is warn : mkyong 
2014-07-02 20:52:39 ERROR HelloExample:27 - This is error : mkyong 
2014-07-02 20:52:39 FATAL HelloExample:28 - This is fatal : mkyong 
+0

我已经遵循这个教程:p – foucha

相关问题