我想把Java应用程序的日志发送到ElasticSearch,传统的方法似乎是在运行应用程序的服务器上设置Logstash,并让logstash解析日志文件(用正则表达式...!)并将它们加载到ElasticSearch中。
难道不直接设置log4J(或logback)以所需格式直接记录日志并将其发送到异步日志收集器,再将其分发到ElasticSearch中更好吗?对于我来说,似乎没必要通过grok过滤处理多行堆栈跟踪(并在日志解析时消耗CPU周期),而应用程序本身可以一开始就以所需格式记录它。
在与此有关的另一个问题上,对于运行在Docker容器中的应用程序,最佳实践是直接记录到ElasticSearch中,考虑到只需要运行一个进程吗?