Jfinal使用log4j2打印日志

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");