[英]How to use slf4j logger to print logs to a file for debug and other levels
我知道这个问题在我阅读之前和提出的其他答复中都曾提出过,我整理了许多信息,但仍未能实现我想要的目标。
我的目标是让我的maven / java项目每天将信息,调试,跟踪等级别的日志打印到一个新文件中。 理想情况下,我想要jan21.info.log,jan22.info.log,jan21.debug.log,jan22.debug.log ....等等,您知道了,但我什至无法将我的程序打印到文件中。 我在下面粘贴了pom.xml,java类和log4j.properties文件。 Slf4j是必不可少的。 如您所知,这是非常基本的操作,但是由于某种原因我无法使它正常工作。 非常感谢您的帮助。 提前致谢。
更新:该程序能够在根文件夹中创建一个文本文件,并将其写入文件。 我还在下面的App.java中添加了编写代码。
的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>my-app</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.5</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <configuration> <mainClass>com.mycompany.app.App</mainClass> </configuration> </plugin> </plugins> </build> </project>
src / main / resources >> log4j.properties
# Root logger option
log4j.rootLogger=DEBUG, file
# File appender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p - %m%n
log4j.appender.file.File=/Users/ajanis/DR/GS/tmp/my-app/myoutput.log
log4j.appender.file.MaxFileSize=100KB
src / main / java >> App.java
package com.mycompany.app;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class App
{
private static Logger log = LoggerFactory.getLogger(App.class);
public static void main (String [] arg) throws FileNotFoundException, UnsupportedEncodingException
{
System.out.println("\n\nBegin\n");
log.info("hello info");
log.debug("debug");
PrintWriter writer = new PrintWriter("blah.txt", "UTF-8");
writer.println("The first line");
writer.println("The second line");
writer.close();
System.out.println("\nEnd");
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.