Я знаю, что этот вопрос задан до и из других ответов, которые я читаю. Я собрал кучу информации, но я все еще не могу добиться того, что Я хотел.Как использовать slf4j logger для печати журналов в файл для отладки и других уровней
Моя цель состоит в том, чтобы мой проект maven/java каждый день печатал журналы на уровне информации, отладки, трассировки и т. Д. В идеале я хотел бы jan21.info.log, jan22.info.log, jan21.debug.log, jan22.debug.log .... и т. Д. Вы получили идею, но я даже не могу заставить мою программу печатать в файл , Я вставил свой файл pom.xml, java и файл log4j.properties ниже. Slf4j - это требование кстати. Как вы можете сказать, это очень просто, но я не могу заставить это работать по какой-то причине. Высоко цените любую помощь здесь. Заранее спасибо.
UPDATE: Программа способна создать текстовый файл в корневой папке и написать ему в порядке. Я добавил код записи также в 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>
\t <dependency>
\t \t <groupId>org.slf4j</groupId>
\t \t <artifactId>slf4j-api</artifactId>
\t \t <version>1.7.5</version>
\t </dependency>
\t <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>
\t \t </plugins>
\t </build>
</project>
SRC/основные/ресурсы >> 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/главная/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");
}
}
Проверьте доступ для записи –
Доступ на запись в порядке. Мне удалось создать blah.txt в корневом каталоге. Я обновил вопрос, чтобы добавить эту заметку. Спасибо. – chapstick