步骤如下
- 首先定义封装所需要的日志信息的实体类
public class MyLog {
//根据需要定义字段
@Id
private String id;
private Date ts;
private String level;
private String msg;
private String thread;
//属性的get/set方法(略)
}
- 定义操作mongodb的接口
@Repository
public interface LogRepository extends MongoRepository<MyLog, String>{
}
- 3.定义一个MongoDBAppender继承UnsynchronizedAppenderBase
@Component
Public class MongoDBAppender extends UnsynchronizedAppenderBase<LoggingEvent> implements ApplicationContextAware{
private static LogRepository logRepository;
protected void append(LoggingEvent e){
MyLog myLog = new MyLog();
myLog.setLevel(e.getLevel().toString());
myLog.setMsg(e.getFormattedMessage());
myLog.setThread(e.getThreadName());
myLog.setTs(new Date(e.getTimeStamp()));
logRepository.save(myLog);
}
Public void se