windows环境 logstash 采集本地java日志文件,打印到控制台
要使用 Logstash 采集本地日志文件并将日志打印到控制台,你可以按照以下步骤进行配置:
安装Logstash
首先,确保你已经安装了 Logstash。如果没有安装,可以参考 Logstash 官方文档 进行安装。
下载地址:https://www.elastic.co/cn/downloads/logstash
解压下载的logstash压缩包,进入解压的目录文件夹(logstash-8.17.0)中。
创建Logstash配置文件
在解压出的文件夹中创建一个conf文件夹(logstash-8.17.0\conf),并在这个文件夹中创建一个 Logstash 配置文件,例如 my-app.conf
,内容如下:
input {
file {
path => "D:/logs/app/web_info.log" # 替换为你的日志文件路径
start_position => "beginning" # 从文件开头开始读取
sincedb_path => "NUL" # 禁用 sincedb,避免重复读取
}
}
output {
stdout {
codec => rubydebug # 以可读的格式打印到控制台
}
}
运行Logstash
再进入 bin 目录下(logstash-8.17.0\bin),使用以下命令运行 Logstash,并指定刚才创建的配置文件:
logstash.bat -f ./conf/my-app.conf
查看输出
Logstash 会开始读取指定的日志文件,并将日志内容打印到控制台。你可以看到类似以下的输出:
{
"@timestamp" => 2023-10-05T12:34:56.789Z,
"message" => "This is a log message",
"path" => "/path/to/your/logfile.log",
"host" => "your-hostname",
...
}
其他注意事项
- 日志文件路径:确保 path 参数指向正确的日志文件路径。
- 文件读取位置:start_position => “beginning” 表示从文件开头开始读取。如果你只想读取新增的日志内容,可以将其改为 start_position => “end”。
- sincedb_path:sincedb_path =>“NUL” 用于禁用 sincedb,避免 Logstash 记录文件读取位置。如果你希望 Logstash 记住读取位置,可以将其设置为一个有效的文件路径。