Log Bull is a log collection system with an emphasis on ease of use. It can be deployed via a .sh script, via Docker and via Docker Compose. The project is completely open source under the Apache 2.0 license.Log Bull is a log collection system with an emphasis on ease of use. It can be deployed via a .sh script, via Docker and via Docker Compose. The project is completely open source under the Apache 2.0 license.

ELK, Loki, and Graylog Were Overkill, So I built Log Bull

2025/10/16 23:31

For about five years, I have faced the task of collecting logs, typically from small to medium-sized codebases. Sending logs from code is not a problem: Java and Go have libraries for this practically out of the box. But deploying something to collect them is a headache. I understand that it's a solvable task (even before ChatGPT, and now even more so). Still, all logging systems are primarily geared toward the large enterprise world and its requirements, ~~r~~ather than small teams or single developers with a few sticks, glue, and a “yesterday” deadline.

Launching ELK is a challenge for me every time: a bunch of settings, a non-trivial deployment, and when I enter the UI, my eyes run wild from the tabs. With Loki and Graylog, it's a little easier, but there are still way more features than I need. At the same time, separating logs between projects and adding other users to the system so that they don't see anything they shouldn't, is not the most obvious process either.

So about a year ago, I decided to make my own log collection system. One that is as easy to use and launch as possible. It would be deployed on the server with a single command, without any configuration or unnecessary tabs in the interface. That's how Log Bull came about, and now it's open source: a log collection system for developers with mid-sized projects.

Table of contents:

  • About the project
  • How to deploy Log Bull?
  • How to send logs?
  • How to view logs?
  • Conclusion

About the project

Log Bull is a log collection system with an emphasis on ease of use (minimal configuration, minimal features, zero-config at startup). The project is completely open source under the Apache 2.0 license. My main priority was to create a solution that would allow a junior developer to easily figure out how to start the system, how to send logs to it, and how to view them in about 15 minutes.

Key features of the project:

  • Deployed with a single command via a .sh script or a Docker command.
  • You can create multiple isolated projects for collecting logs (and add users to them).
  • Extremely simple interface with minimal configuration, and no configuration required at all when starting (zero-config).
  • Libraries for Python, Java, Go, JavaScript (TS \ NodeJS), PHP, C#. Rust and Ruby are planned.
  • Free, open source and self-hosted.
  • No need to know LogQL, Kibana DSL or other query languages to search logs.

https://www.youtube.com/watch?v=8H8jF8nVzJE&embedable=true

The project is developed in Go and built on OpenSearch.

Project website - https://logbull.com

Project GitHub - https://github.com/logbull/logbull

P.S. If you find the project useful and have a GitHub account, please give it a star ⭐️. The first stars are hard to collect. I would be extremely grateful for your support!

How to deploy Log Bull?

There are three ways to deploy a project: via a .sh script (which I recommend), via Docker and via Docker Compose.

Method 1: Installation via script

The script will install Docker, place the project in the /opt/logbull folder, and configure autostart when the system is restarted. Installation command:

sudo apt-get install -y curl && \ sudo curl -sSL https://raw.githubusercontent.com/logbull/logbull/main/install-logbull.sh \ | sudo bash 

Method 2: Launch via Docker Compose

Create file docker-compose.yml with the following content:

services:   logbull:     container_name: logbull     image: logbull/logbull:latest     ports:       - "4005:4005"     volumes:       - ./logbull-data:/logbull-data     restart: unless-stopped     healthcheck:       test: ["CMD", "curl", "-f", "http://localhost:4005/api/v1/system/health"]       interval: 5s       timeout: 5s       retries: 30 

And run the command docker compose up -d. The system will start on port 4005.

Method 3: Launch via Docker command

Run the following command in the terminal (the system will also start on port 4005):

docker run -d \   --name logbull \   -p 4005:4005 \   -v ./logbull-data:/logbull-data \   --restart unless-stopped \   --health-cmd="curl -f http://localhost:4005/api/v1/system/health || exit 1" \   --health-interval=5s \   --health-retries=30 \   logbull/logbull:latest 

How to send logs?

I designed the project with convenience in mind, primarily for developers. That's why I created libraries for most popular development languages. I did this with the idea that Log Bull can be connected to any popular library as a processor without changing the current code base.

I highly recommend checking out the examples on the website, because there is an interactive panel for selecting a language:

Code examples picler

Let's take Python as an example. First, you need to install the library (although you can also send it via HTTP; there are examples for cURL):

pip install logbull 

Then send from code:

import time from logbull import LogBullLogger  # Initialize logger logger = LogBullLogger(     host="http://LOGBULL_HOST",     project_id="LOGBULL_PROJECT_ID", )  # Log messages (printed to console AND sent to LogBull) logger.info("User logged in successfully", fields={     "user_id": "12345",     "username": "john_doe",     "ip": "192.168.1.100" })  # With context session_logger = logger.with_context({     "session_id": "sess_abc123",     "user_id": "user_456" })  session_logger.info("Processing request", fields={     "action": "purchase" })  # Ensure all logs are sent before exiting logger.flush() time.sleep(5) 

How to view logs?

All logs are displayed immediately on the main screen. You can:

  • Reduce the size of messages (by cutting the line to ~50-100 characters).

  • Expand the list of sent fields (userid, orderid, etc.).

  • Click on a field and add it to the filter. Logs search with conditions:

    Logs search with conditions

    Regular logs view

    Viewing messages text only (you can cut extra fields):

You can also collect groups of conditions (for example, the message includes certain text, but excludes a specific server IP address).

Conclusion

I hope my log collection system will be useful to those developers who do not want or cannot (due to limited project resources) implement “heavyweight” solutions such as ELK. I am already using Log Bull in production projects, and everything is going well. I welcome feedback, suggestions for improvement, and issues on GitHub.

Disclaimer: The articles reposted on this site are sourced from public platforms and are provided for informational purposes only. They do not necessarily reflect the views of MEXC. All rights remain with the original authors. If you believe any content infringes on third-party rights, please contact service@support.mexc.com for removal. MEXC makes no guarantees regarding the accuracy, completeness, or timeliness of the content and is not responsible for any actions taken based on the information provided. The content does not constitute financial, legal, or other professional advice, nor should it be considered a recommendation or endorsement by MEXC.

You May Also Like

Critical Victory: US Senate Passes Temporary Budget Bill Ending Government Shutdown Crisis

Critical Victory: US Senate Passes Temporary Budget Bill Ending Government Shutdown Crisis

BitcoinWorld Critical Victory: US Senate Passes Temporary Budget Bill Ending Government Shutdown Crisis In a crucial political breakthrough, the US Senate has approved a temporary budget bill that resolves the looming government shutdown crisis. This decisive action brings relief to millions of Americans and federal workers who faced uncertainty about government operations and services. What Does the Temporary Budget Bill Accomplish? The newly passed temporary budget bill provides essential government funding through January, ensuring continuous operation of federal agencies and services. This stopgap measure passed with a solid 60-40 vote margin, demonstrating bipartisan support for keeping the government functioning. Following the bill’s approval, President Donald Trump expressed optimism about the shutdown ending soon. The temporary budget bill represents a practical solution that allows more time for comprehensive budget negotiations while preventing immediate disruption to government services. Why Was This Temporary Budget Bill Necessary? Government shutdowns create widespread consequences that affect: Federal employee pay and benefits Essential public services National park operations Economic stability and market confidence The temporary budget bill serves as a bridge solution, providing lawmakers additional time to reach consensus on longer-term funding arrangements. This approach prevents the damaging effects of a full government shutdown while maintaining critical operations. How Does the Political Process Unfold From Here? With the temporary budget bill now passed, attention shifts to the House of Representatives and presidential approval. The legislative process requires both chambers to agree on identical versions before the bill reaches the President’s desk for signature. This temporary budget bill success follows reports of senators reaching partial agreements earlier in the week. The 60-40 vote margin indicates significant cross-party cooperation, suggesting growing consensus around the urgency of avoiding a government shutdown. What Are the Immediate Impacts of This Decision? The passage of this temporary budget bill brings several immediate benefits: Federal workers can continue their duties without interruption Government services remain accessible to citizens Economic uncertainty decreases International confidence in US stability strengthens Moreover, the temporary budget bill creates a stable environment for businesses and individuals who rely on consistent government operations. This stability is crucial for maintaining economic momentum and public confidence. Looking Ahead: What Comes After This Temporary Budget Bill? While this temporary budget bill resolves the immediate crisis, it sets the stage for more comprehensive budget negotiations in the coming months. Lawmakers now have until January to develop a longer-term funding solution that addresses broader fiscal priorities. The successful passage of this temporary budget bill demonstrates that bipartisan cooperation remains possible in challenging political environments. It serves as a model for future negotiations and highlights the importance of pragmatic solutions over ideological standoffs. Frequently Asked Questions What is a temporary budget bill? A temporary budget bill, often called a continuing resolution, provides short-term funding to keep government operations running when full-year budgets aren’t approved by the deadline. How long does this temporary budget bill last? This specific temporary budget bill funds the government through January, giving lawmakers several months to negotiate a more comprehensive budget agreement. What happens if a temporary budget bill isn’t passed? Without a temporary budget bill or full budget approval, the government would partially shut down, furloughing non-essential workers and suspending many services. Can the temporary budget bill be extended? Yes, temporary budget bills can be extended if lawmakers need additional time to reach agreement on longer-term funding solutions. What services continue during temporary budget periods? Essential services like national security, air traffic control, and law enforcement continue, while non-essential services may operate with reduced staffing. How does this affect federal employees? Federal employees continue working and receiving pay during temporary budget bill periods, avoiding the uncertainty of potential furloughs. Found this analysis helpful? Share this article with others who need to understand how the temporary budget bill affects our government and economy. Your shares help spread accurate information about important political developments. To learn more about how government decisions impact financial markets, explore our article on key developments shaping economic policy and market reactions. This post Critical Victory: US Senate Passes Temporary Budget Bill Ending Government Shutdown Crisis first appeared on BitcoinWorld.
Share
Coinstats2025/11/10 12:10