类 LogstashAppender
java.lang.Object
ch.qos.logback.core.spi.ContextAwareBase
ch.qos.logback.core.AppenderBase<ch.qos.logback.classic.spi.ILoggingEvent>
com.elitesland.ystdms.sys.log.appender.AbstractCustomAppender
com.elitesland.ystdms.sys.log.appender.LogstashAppender
- 所有已实现的接口:
ch.qos.logback.core.Appender<ch.qos.logback.classic.spi.ILoggingEvent>,ch.qos.logback.core.spi.ContextAware,ch.qos.logback.core.spi.FilterAttachable<ch.qos.logback.classic.spi.ILoggingEvent>,ch.qos.logback.core.spi.LifeCycle
ELK Appender.
将过滤后的日志序列化为 JSON 并推送至 Logstash。
官方GitHub:源码 LogStash配置(简化部分)
input {
tcp {
port => 4560
codec => json_lines
}
}
filter {
# 可选:如果你还接收其他来源的日志,可以用条件区分
# 这里假设只有 JSON 日志,无需额外 filter
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
user => "elastic"
password => "your_password"
# 直接从日志字段中取索引名,不加日期后缀(完全固定)
index => "%{[index_name]}"
# 或者如果你希望保留日期后缀,可以拼接:
# index => "%{[index_name]}-%{+YYYY.MM.dd}"
}
stdout { codec => rubydebug } # 调试用
}
注意:确保logstash的端口打开且可访问-
嵌套类概要
从类继承的嵌套类/接口 com.elitesland.ystdms.sys.log.appender.AbstractCustomAppender
AbstractCustomAppender.DefaultLayout -
字段概要
从类继承的字段 com.elitesland.ystdms.sys.log.appender.AbstractCustomAppender
layout从类继承的字段 ch.qos.logback.core.AppenderBase
name, started从类继承的字段 ch.qos.logback.core.spi.ContextAwareBase
context -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明当前appender的名称voidexecuteAppend(ch.qos.logback.classic.spi.ILoggingEvent event) 将日志事件追加到Logstashvoid设置logstash服务器地址voidsetIndexName(String indexName) Elasticsearch上的索引名称voidsetPort(int port) 设置TCP端口voidstart()启动Appender,初始化编码器和连接voidstop()停止Appender,清理资源从类继承的方法 com.elitesland.ystdms.sys.log.appender.AbstractCustomAppender
append, getAppName, getTenantId, getUserId, getUsername, isActive, setActiveAppender, setLayout从类继承的方法 ch.qos.logback.core.AppenderBase
addFilter, clearAllFilters, doAppend, getCopyOfAttachedFiltersList, getFilterChainDecision, getName, isStarted, setName, toString从类继承的方法 ch.qos.logback.core.spi.ContextAwareBase
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContext从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait从接口继承的方法 ch.qos.logback.core.spi.ContextAware
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, setContext
-
构造器详细资料
-
LogstashAppender
public LogstashAppender()
-
-
方法详细资料
-
appenderName
从类复制的说明:AbstractCustomAppender当前appender的名称可用于判断是否激活
- 指定者:
appenderName在类中AbstractCustomAppender- 返回:
- appender名称
-
start
public void start()启动Appender,初始化编码器和连接- 指定者:
start在接口中ch.qos.logback.core.spi.LifeCycle- 覆盖:
start在类中ch.qos.logback.core.AppenderBase<ch.qos.logback.classic.spi.ILoggingEvent>
-
executeAppend
public void executeAppend(ch.qos.logback.classic.spi.ILoggingEvent event) 将日志事件追加到Logstash- 指定者:
executeAppend在类中AbstractCustomAppender- 参数:
event- 日志事件
-
stop
public void stop()停止Appender,清理资源- 指定者:
stop在接口中ch.qos.logback.core.spi.LifeCycle- 覆盖:
stop在类中ch.qos.logback.core.AppenderBase<ch.qos.logback.classic.spi.ILoggingEvent>
-
setHost
设置logstash服务器地址- 参数:
host- 服务器地址
-
setPort
public void setPort(int port) 设置TCP端口- 参数:
port- TCP端口
-
setIndexName
Elasticsearch上的索引名称- 参数:
indexName- 索引名称
-