Bot for watching and parsing logs.
This project is part of a monorepo (https://github.com/CurtisNewbie/moon-monorepo).
- MySQL
- Redis
- Consul
- RabbitMQ
- github.com/curtisnewbie/user-vault
For more configuration, check miso.
Property | Description | Default Value |
---|---|---|
logbot.node | name of the node | 'default' |
logbot.[]watch | list of watch config | |
logbot.[]watch.app | app name | |
logbot.[]watch.file | path of the log file | |
logbot.[]watch.type | type of log pattern [ 'go', 'java' ] | 'go' |
logbot.remove-history-error-log | enable task to remove error logs reported 7 days ago | false |
log.[]pattern | log pattern supported (regexp) |
Logs are parsed using regex, there are two log patterns already available:
log:
pattern:
go: '^([0-9]{4}\-[0-9]{2}\-[0-9]{2} [0-9:\.]+) +(\w+) +\[([\w ]+),([\w ]+)\] ([\w\.]+) +: *((?s).*)'
java: '^([0-9]{4}\-[0-9]{2}\-[0-9]{2} [0-9:\.]+) +(\w+) +\[[\w \-]+,([\w ]*),([\w ]*),[\w ]*\] [\w\.]+ \-\-\- \[[\w\- ]+\] ([\w\-\.]+) +: *((?s).*)'
With go
pattern, the logs looks like this:
2023-06-13 22:16:13.746 ERROR [v2geq7340pbfxcc9,k1gsschfgarpc7no] main.registerWebEndpoints.func2 : Oh on!
continue on a new line :D
With java
pattern, the logs looks like this:
2023-06-17 17:34:48.762 INFO [auth-service,,,] 78446 --- [ main] .c.m.r.c.YamlBasedRedissonClientProvider : Loading RedissonClient from yaml config file, reading environment property: redisson-config
The pattern provided will need to match following groups:
- time that matches
2006-01-02 15:04:05.000
- log level
- trace id
- span id
- name of the method
- log content