Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在maven项目中使用log4j_Java_Maven - Fatal编程技术网

Java 在maven项目中使用log4j

Java 在maven项目中使用log4j,java,maven,Java,Maven,创建日志文件时遇到问题 我在pom.xml中添加了 <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> 然后在我的java代码中使用 public class Test { static Logger logger = Lo

创建日志文件时遇到问题

我在pom.xml中添加了

<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.16</version>
</dependency>
然后在我的java代码中使用

public class Test
{
static Logger logger = Logger.getLogger(Test.class.getName());
 public void testLog(){
 logger.info("testing ..!!!");
}
但当运行时,我得到下面的错误和日志文件没有创建

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
我的maven版本是ApacheMaven2.2.1(rdebian-6),我使用的是EcclipseIndigo
感谢您的帮助

SLF4j库需要手动包含在pom.xml中

        <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.6.1</version>
        </dependency>
        <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>1.6.1</version>
        </dependency>
        <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.6.1</version>
        </dependency>

org.slf4j
slf4j api
1.6.1
org.slf4j
jcl-over-slf4j
1.6.1
org.slf4j
slf4j-log4j12
1.6.1

jcl-over-slf4j是干什么用的?如果我不包括它,结果是什么?其他一些第三方库可能会使用JCL(遗留代码)。你可以排除它。只是,如果某个第三方库没有生成日志,它可能会使用JLC。通过包含这些依赖项,错误消失了。但是仍然没有创建日志文件!!!。如何将日志消息记录到文件中。我尝试在生成路径中手动添加log4j,但也没有成功:(确保执行了testLog()方法(确保使用system.out.println).Set log4j.appender.FILE.FILE使用完整路径/home/soumya/log4j/log.out文件可能会被创建,但在不同的文件夹中。我确信testLog()正在执行我通过使用system.out.println.Edited log4j.properties将日志重定向到cosole并通过添加log4j.rootLogger=DEBUG,S,R,FILE和g4j.appender.FILE中的use full path对其进行了双重检查。但是没有希望。由于日志未登录到控制台,我可能缺少一些配置
        <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.6.1</version>
        </dependency>
        <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>1.6.1</version>
        </dependency>
        <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.6.1</version>
        </dependency>