我正在尝试使用 log4j 将其记录到文件中 这是代码
protected static Logger logger = Logger.getLogger(Application.class);
private static final String DIRECTORY = "/Users/me/Desktop";
private static final String EXTENSION = ".log";
protected void setupLogger(String fileName) {
SimpleLayout layout = new SimpleLayout();
FileAppender appender = new FileAppender(layout, DIRECTORY + "/logs/" + fileName + EXTENSION, false);
logger.addAppender(appender);
logger.setLevel((Level) Level.DEBUG);
}
这是我使用的 pom http://pastebin.com/vXdFtzSU
我得到的堆栈跟踪在这里
Error:(40, 28) java: incompatible types: org.apache.log4j.FileAppender cannot be converted to org.apache.log4j.Appender
最佳答案
您好,尝试更改您的 Maven 依赖项,添加此依赖项:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
并更改 Spring Boot 依赖项以排除日志记录依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
然后添加try/catch语句:
protected void setupLogger(String fileName) {
try {
SimpleLayout layout = new SimpleLayout();
FileAppender appender;
appender = new FileAppender(layout, DIRECTORY + "/logs/" + fileName + EXTENSION, false);
logger.addAppender(appender);
logger.setLevel((Level) Level.DEBUG);
} catch (IOException e) {
e.printStackTrace();
}
}
关于java - log4j 尝试登录文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38583546/