Plumelog is a simple and easy-to-use Java distributed logging component. Supports tens of billions of levels. From log collection to query, it is convenient and fast without having to read logs in files. It supports querying the logs of a call chain, supports link tracking, and checks the time consumption of the call chain. You can also query related logs in a distributed system. , can help quickly locate problems, is simple and easy to use, has no code intrusion, and has a friendly, efficient, and convenient query interface. As long as you are using a Java system, you do not need to make any project modifications, just access it and use it directly. The logs will not be saved on the local disk, and there is no need to worry about log occupation. There is a disk problem in the application server. If you think the project is useful, please give it a star. Your star is the driving force for us to move forward.
Plumelog function introduction
1. A non-invasive distributed log system that collects logs based on log4j, log4j2, and logback, and sets the link ID to facilitate querying related logs.
2. Based on elasticsearch as the query engine
3. High throughput and high query efficiency
4. The entire process does not occupy the local disk space of the application and is maintenance-free; it is transparent to the project and does not affect the operation of the project itself.
5. No need to modify old projects, introduce and use directly, support duadfdso, support springcloud
Plumelog Architecture
plumelog-core: The core component includes the log collection end, which is responsible for collecting logs and pushing them to kafka, redis and other queues.
plumelog-server: Responsible for asynchronously writing logs in the queue to elasticsearch
plumelog-ui: front-end display, log query interface
plumelog-demo: springboot-based use case
How to use Plumelog
Compile and install it yourself as follows
Prerequisite: kafka or redis and elasticsearch (6.8 or above is best) can be installed by yourself and compatibility has been done. There is no need to consider ES in theory.
Pack
maven deploy -DskipTests uploads the package to your own private server
Change the private server address to plumelog/pom.xml
UTF-8
http://172.16.249.94:4000
Plumelog update log
v3.5
Added lite startup mode. At this time, there is no need to configure redis and es. In lite mode, extended fields, error statistics, and error alarms cannot be used. It is suitable for small-scale projects.
The plumelog-lite module has been added. Plumelog-lite exists as a plumelog dependent package. It can be directly referenced and used without deployment. It can be embedded into the project.
Add a log console to view real-time output. It is an artifact during deployment and testing. Opening the console will affect performance, so pay attention to the timing of use.
Fixed a bug in link tracking where the outermost layer may not be displayed.
Added automatic detection of ES, no configuration required
Increase the automatic configuration of the maximum number of ES shards, no need to set it manually
Optimized the interface, optimized the alarm interface out-of-bounds save button to display half of the bug
Optimize the configuration in redis mode. If all applications use only one queue redis, management redis does not need to be configured. The queue redis will be automatically enabled as the management redis.
Fix known bugs and other optimizations
Old users can directly replace plumelog-server-3.5.jar when upgrading and restart.
lite mode, you need to upgrade the client to 3.5
Embedded springboot-admin makes it easy to manage springboot projects. You can use springbootadmin to dynamically adjust the log output level.