博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
logback logstash mongodb
阅读量:5883 次
发布时间:2019-06-19

本文共 4438 字,大约阅读时间需要 14 分钟。

hot3.png

${filePattern}
ERROR
ACCEPT
DENY
${filePattern}
ERROR
cloudbhislog/error/${projectName}/errorlog.txt
cloudbhislog/error/${projectName}/error-${projectName}-%d{yyyy-MM-dd}.%i.zip
100MB
30
1GB
${filePattern}
cloudbhislog/business/${projectName}/businesslog.txt
cloudbhislog/business/${projectName}/business-${projectName}-%d{yyyy-MM-dd}.%i.zip
100MB
30
1GB
${filePattern}
192.168.135.129:9527
${filePattern}
${filePattern}
bhis
business
192.168.135.129
27017
${filePattern}
ERROR
bhis
error
192.168.135.129
27017
0
512
package com.gsww.bhis.admin.config;import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import ch.qos.logback.classic.spi.ILoggingEvent;import ch.qos.logback.core.Layout;import ch.qos.logback.core.UnsynchronizedAppenderBase;/** * @version 1.0.0 * @author fenglanglang */public class LogbackMongodbAppender extends UnsynchronizedAppenderBase
{ Layout
layout; //自定义配置 private String database; private String collection; private String host; private int port; private MongoCollection
document; private MongoClient client; @Override public void start() { //这里可以做些初始化判断 比如layout不能为null , if (layout == null) { addWarn("Layout was not defined"); } //或者写入数据库 或者redis时 初始化连接等等 client = new MongoClient(host, port); MongoDatabase db = client.getDatabase(database); document = db.getCollection(collection); super.start(); } @Override public void stop() { //释放相关资源,如数据库连接,redis线程池等等 if (!isStarted()) { return; } client.close(); super.stop(); } @Override public void append(ILoggingEvent event) { if (event == null || !isStarted()) { return; } // 此处自定义实现输出 // 获取输出值:event.getFormattedMessage() //System.out.print(printString +":" + layout.doLayout(event)); Document doc = new Document(); doc.append("message", layout.doLayout(event)); document.insertOne(doc); } public Layout
getLayout() { return layout; } public void setLayout(Layout
layout) { this.layout = layout; } public String getDatabase() { return database; } public void setDatabase(String database) { this.database = database; } public String getCollection() { return collection; } public void setCollection(String collection) { this.collection = collection; } public String getHost() { return host; } public void setHost(String host) { this.host = host; } public int getPort() { return port; } public void setPort(int port) { this.port = port; }}
net.logstash.logback
logstash-logback-encoder
4.6
org.springframework.data
spring-data-mongodb
org.mongodb
mongo-java-driver

转载于:https://my.oschina.net/langgege/blog/3025467

你可能感兴趣的文章
劣质代码评析——猜数字问题(上)
查看>>
纸上谈兵: 栈 (stack)
查看>>
Windows phone8 基础篇(三) 常用控件开发
查看>>
Oracle学习笔记之五,Oracle 11g的PL/SQL入门
查看>>
大叔手记(3):Windows Silverlight/Phone7/Mango开发学习系列教程
查看>>
考拉消息中心消息盒子处理重构(策略模式)
查看>>
so easy 前端实现多语言
查看>>
【追光者系列】HikariCP源码分析之ConcurrentBag&J.U.C SynchronousQueue、CopyOnWriteArrayList...
查看>>
canvas系列教程05-柱状图项目3
查看>>
css绘制几何图形
查看>>
HTML标签
查看>>
理解JS中的Event Loop机制
查看>>
转载:字符编码笔记:ASCII,Unicode和UTF 8
查看>>
修复看不懂的 Console Log
查看>>
Android跨进程通信 AIDL使用
查看>>
ajax常见面试题
查看>>
结合kmp算法的匹配动画浅析其基本思想
查看>>
vue进行wepack打包执行npm run build出现错误
查看>>
【d3.js v4基础】过渡transition
查看>>
VUEJS开发规范
查看>>