1,添加maven配置java
<properties> <log4j2.version>2.11.0</log4j2.version> <slf4j.version>1.7.25</slf4j.version> </properties>
<!--slf4j及log4j2日誌 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <!--橋接器:告訴slf4j使用Log4j2 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>${log4j2.version}</version> <exclusions> <exclusion> <artifactId>slf4j-api</artifactId> <groupId>org.slf4j</groupId> </exclusion> </exclusions> </dependency> <!--具體實現,log4j2 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>${log4j2.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j2.version}</version> </dependency>
2,繼承com.jfinal.log.Logapache
package cn.iborder.myJFinal.util; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.jfinal.log.Log; public class Log4j2Log extends Log{ private Logger log; public Log4j2Log(Class<?> clazz) { log = LogManager.getLogger(clazz); } public Log4j2Log(String name) { log = LogManager.getLogger(name); } @Override public void debug(String message) { log.debug(message); } @Override public void debug(String message, Throwable t) { log.debug(message, t); } @Override public void info(String message) { log.info(message); } @Override public void info(String message, Throwable t) { log.info(message, t); } @Override public void warn(String message) { log.warn(message); } @Override public void warn(String message, Throwable t) { log.warn(message, t); } @Override public void error(String message) { log.error(message); } @Override public void error(String message, Throwable t) { log.error(message, t); } @Override public void fatal(String message) { log.fatal(message); } @Override public void fatal(String message, Throwable t) { log.fatal(message, t); } @Override public boolean isDebugEnabled() { return false; } @Override public boolean isInfoEnabled() { return false; } @Override public boolean isWarnEnabled() { return false; } @Override public boolean isErrorEnabled() { return false; } @Override public boolean isFatalEnabled() { return false; } }
3,實現com.jfinal.log.ILogFactory接口api
package cn.iborder.myJFinal.util; import com.jfinal.log.ILogFactory; import com.jfinal.log.Log; public class Log4j2Factory implements ILogFactory{ public Log4j2Factory() { // TODO Auto-generated constructor stub } @Override public Log getLog(Class<?> clazz) { // TODO Auto-generated method stub return new Log4j2Log(clazz); } @Override public Log getLog(String name) { // TODO Auto-generated method stub return new Log4j2Log(name); } }
4,配置JfinalConfig繼承類maven
@Override public void configConstant(Constants me) { // TODO Auto-generated method stub me.setDevMode(true); me.setLogFactory(new Log4jLogFactory()); }
接下來就可使用了ide
Log.getLog(this.getClass()).debug("hello world");