ToB企服应用市场:ToB评测及商务社交产业平台
标题:
logback日志输出到mongodb
[打印本页]
作者:
用多少眼泪才能让你相信
时间:
2022-8-11 03:01
标题:
logback日志输出到mongodb
1、继承UnsynchronizedAppenderBase
package com.xf.config;
import java.util.Map;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.util.StringUtils;
import com.alibaba.fastjson.JSONObject;
import ch.qos.logback.classic.spi.LoggingEvent;
import ch.qos.logback.core.UnsynchronizedAppenderBase;
import cn.hutool.extra.spring.SpringUtil;
import lombok.Data;
@Data
public class MongoDBAppender extends UnsynchronizedAppenderBase<LoggingEvent> {
private MongoTemplate mongoTemplate;
String appName;
String collectionName;
@Override
protected void append(LoggingEvent e) {
if (mongoTemplate == null)
mongoTemplate = SpringUtil.getBean(MongoTemplate.class);
JSONObject obj = new JSONObject();
obj.put("appName", appName);
obj.put("Level", e.getLevel().toString());
obj.put("Message", e.getFormattedMessage());
obj.put("TimeStamp", e.getTimeStamp());
obj.put("Class", e.getCallerData()[0].toString());
Map<String, String> map = e.getMDCPropertyMap();
map.forEach((k, v) -> {
obj.put(k, v);
});
if (StringUtils.isEmpty(collectionName))
mongoTemplate.save(obj, "wjflog");
else
mongoTemplate.save(obj, collectionName);
}
}
复制代码
2、xml配置
<appender name="MONGODB" class="com.xf.config.MongoDBAppender">
<appName>odvapi</appName>
<collectionName>mylog</collectionName>
</appender>
复制代码
3、mongdb配置
spring:
data:
mongodb:
database: test
port: 27017
host: 127.0.0.1
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4