我想記錄的東西在maven項目中的文件。 我發現「HOWTO」在這裏: Where does the slf4j log file get saved?slf4j日誌文件丟失
但它不工作(我無法找到日誌文件)由於某種原因,什麼是我的錯?
這裏是我的pom.xml
:
<!-- Logger -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.12</version>
</dependency>
這裏是我的log4j.properties
:
log4j.rootLogger=DEBUG, STDOUT, file
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=mylogs.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%nF
這裏是我的應用程序:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class App {
// Log
private static final Logger log = LoggerFactory.getLogger(App.class);
public static void main(String[] args) {
log.info("App started");
Worker worker = new Worker();
worker.doWork();
log.debug("worker finished job");
log.debug("Main ends here");
}
}
哪個目錄是log4j.properties文件?另外,請檢查類路徑。它是否包含'jcl-over-slf4j'和'commons-logging'?如果答案是肯定的,那麼如果必須的話,使用排除來移除'commons-logging'。我的經驗是,這兩個圖書館並不能很好地發揮作用,因此我沒有看到日誌文件。 – user944849
'log4j.properties'位於'src \ main \ resources',有'commons-logging'並且沒有'jcl-over-slf4j'。刪除'commons-logging'進行測試,仍然沒有日誌文件:( –
你看到控制檯中的日誌嗎? – yozh