Realtime log viewer for docker containers.

Dozzle - dozzle.dev

Dozzle is a small lightweight application with a web based interface to monitor Docker logs. It doesn’t store any log files. It is for live monitoring of your container logs only.

Image

Go Report Card Docker Pulls Docker Version Test

Features

  • Intelligent fuzzy search for container names 🤖
  • Search logs using regex 🔦
  • Small memory footprint 🏎
  • Split screen for viewing multiple logs
  • Download logs easy
  • Live stats with memory and CPU usage
  • Authentication with username and password 🚨

Dozzle should work for most. It has been tested with hundreds of containers. However, it doesn't support offline searching. Products like Loggly, Papertrail or Kibana are more suited for full search capabilities.

Dozzle doesn't cost any money and aims to focus on real-time debugging.

Getting Dozzle

Dozzle is a very small Docker container (4 MB compressed). Pull the latest release from the index:

$ docker pull amir20/dozzle:latest

Using Dozzle

The simplest way to use dozzle is to run the docker container. Also, mount the Docker Unix socket with --volume to /var/run/docker.sock:

$ docker run --name dozzle -d --volume=/var/run/docker.sock:/var/run/docker.sock -p 8888:8080 amir20/dozzle:latest

Dozzle will be available at http://localhost:8888/. You can change -p 8888:8080 to any port. For example, if you want to view dozzle over port 4040 then you would do -p 4040:8080.

With Docker swarm

docker service create \
--name=dozzle \
--publish=8888:8080 \
--constraint=node.role==manager \
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
amir20/dozzle:latest

With Docker compose

version: "3"
services:
  dozzle:
    container_name: dozzle
    image: amir20/dozzle:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 9999:8080

Security

You can control the device Dozzle binds to by passing --addr parameter. For example,

$ docker run --volume=/var/run/docker.sock:/var/run/docker.sock -p 8888:1224 amir20/dozzle:latest --addr localhost:1224

will bind to localhost on port 1224. You can then use a reverse proxy to control who can see dozzle.

If you wish to restrict the containers shown you can pass the --filter parameter. For example,

$ docker run --volume=/var/run/docker.sock:/var/run/docker.sock -p 8888:1224 amir20/dozzle:latest --filter name=foo

this would then only allow you to view containers with a name starting with "foo". You can use other filters like status as well, please check the official docker command line docs for available filters. Multiple --filter arguments can be provided.

Authentication

Dozzle supports a very simple authentication out of the box with just username and password. You should deploy using SSL to keep the credentials safe. See configuration to use --username and --password.

Changing base URL

Dozzle by default mounts to "/". If you want to control the base path you can use the --base option. For example, if you want to mount at "/foobar", then you can override by using --base /foobar. See env variables below for using DOZZLE_BASE to change this.

$ docker run --volume=/var/run/docker.sock:/var/run/docker.sock -p 8080:8080 amir20/dozzle:latest --base /foobar

Dozzle will be available at http://localhost:8080/foobar/.

Analytics collected

Dozzle collects anonymous user configurations using Google Analytics. Why? Dozzle is an open source project with no funding. As a result, there is no time to do user studies of Dozzle. Analytics is collected to prioritize features and fixes based on how people use Dozzle. This data is completely public and can be viewed live using Data Studio dashboard.

If you do not want to be tracked at all, see the --no-analytics flag below.

Environment variables and configuration

Dozzle follows the 12-factor model. Configurations can use the CLI flags or environment variables. The table below outlines all supported options and their respective env vars.

Flag Env Variable Default
--addr DOZZLE_ADDR :8080
--base DOZZLE_BASE /
--level DOZZLE_LEVEL info
n/a DOCKER_API_VERSION not set
--tailSize DOZZLE_TAILSIZE 300
--filter DOZZLE_FILTER ""
--username DOZZLE_USERNAME ""
--password DOZZLE_PASSWORD ""
--key DOZZLE_KEY ""
--no-analytics DOZZLE_NO_ANALYTICS false

Note: When using username and password DOZZLE_KEY is required for session management.

Troubleshooting and FAQs

I installed Dozzle, but logs are slow or they never load. Help!

Dozzle uses Server Sent Events (SSE) which connects to a server using a HTTP stream without closing the connection. If any proxy tries to buffer this connection, then Dozzle never receives the data and hangs forever waiting for the reverse proxy to flush the buffer. Since version 1.23.0, Dozzle sends the X-Accel-Buffering: no header which should stop reverse proxies buffering. However, some proxies may ignore this header. In those cases, you need to explicitly disable any buffering.

Below is an example with nginx and using proxy_pass to disable buffering.

    server {
        ...

        location / {
            proxy_pass                  http://<dozzle.container.ip.address>:8080;
        }

        location /api {
            proxy_pass                  http://<dozzle.container.ip.address>:8080;

            proxy_buffering             off;
            proxy_cache                 off;
        }
    }

What data does Dozzle collect?

Dozzle does collect some analytics. Analytics is anonymous usage tracking of the features which are used the most. See the section above on how to disable any analytic collection.

In the browser, Dozzle has a strict Content Security Policy which only allows the following policies:

  • Allow connect to api.github.com to fetch most recent version.
  • Only allow <script> and <style> files from self

Dozzle opens all links with rel="noopener".

We have tools that uses Dozzle when a new container is created. How can I get a direct link to a container by name?

Dozzle has a special route that can be used to search containers by name and then forward to that container. For example, if you have a container with name "foo.bar" and id abc123, you can send your users to /show?name=foo.bar which will be forwarded to /container/abc123.

License

MIT

Building

To Build and test locally:

  1. Install NodeJs.
  2. Install Go.
  3. Install reflex with get -u github.com/cespare/reflex outside of dozzle.
  4. Install node modules with pnpm.
  5. Do pnpm dev
Owner
Amir Raminfar
I build things people don't need.
Amir Raminfar
Comments
  • Full Dozzle Log not available - limited scroll back

    Full Dozzle Log not available - limited scroll back

    Hi. When I check dozzle on one of my containers, I can only scroll back around 200 lines. But the docker container itself has thousands of lines when I attach to the docker logs directly.

    How can I change the lookback limit so it shows me the full docker log in dozzle?

    Thanks!

  • v4 is released with JSON support! 👨🏼‍💻

    v4 is released with JSON support! 👨🏼‍💻

    I have officially released the next major version of Dozzle. 🎉 Dozzle v4 has full JSON support for logs. JSON keys can be hidden based on container for easier debugging.

    This version had some major rewrites so I am sure there a bugs. Please use this issue to track any bugs.

  • Login/password form

    Login/password form

    Is your feature request related to a problem? Please describe. If I setup a reverse proxy so I can access logs remotely, the logs of my server (e.g. https://logs.myserver.com) would be accessible to anyone knowing the URL.

    Describe the solution you'd like Add a login/password form option to grant permission to dozzle. I say option to not upset the people choosing to run it local only. ;)

    Describe alternatives you've considered Not have access to my logs remotely? :/

    Additional context Example of simple login: lidarr

    P.S. Thank you for this awesome project regardless!

  • Antivirus blocking requests

    Antivirus blocking requests

    Hello !

    Describe the bug

    Since last update (i never touch the docker compose file, every update are done by WatchTower), my container are not showing anymore in Dozzle...

    To Reproduce

    Steps to reproduce the behavior:

    Go to Dozzle main page

    Expected behavior

    My running container are here !

    Screenshots

    Screenshot_51

    Desktop (please complete the following information):

    • OS: Ubuntu : 22.04
    • Docker version : 20.10.16
    • Browser & version : Google Chrome 103.0.5060.114
    • Version : 3.12.7

    If applicable include logs with --level debug and browser logs

    level=info msg="Dozzle version v3.12.7"
    level=debug msg="filterArgs = {map[]}"
    level=info msg="Accepting connections on :8080"
    level=debug msg="starting to stream stats for: 74ee6bf5943d"
    level=debug msg="starting to stream stats for: 4a2099e9f593"
    level=debug msg="starting to stream stats for: ca413099641f"
    level=debug msg="starting to stream stats for: 087ed50422c4"
    level=debug msg="starting to stream stats for: 1237bccfc883"
    level=debug msg="starting to stream stats for: 1ca8affd3e8e"
    level=debug msg="starting to stream stats for: 2a13a5f711c7"
    level=debug msg="starting to stream stats for: 24c6418957a3"
    level=debug msg="starting to stream stats for: a4e0e1d54734"
    level=debug msg="starting to stream stats for: 3911b71a11b1"
    level=debug msg="starting to stream stats for: 86037674e43d"
    level=debug msg="starting to stream stats for: 2c900b784472"
    level=debug msg="stopping stats streaming for container 24c6418957a3"
    level=debug msg="stopping stats streaming for container 74ee6bf5943d"
    level=debug msg="stopping stats streaming for container 2c900b784472"
    level=debug msg="stopping stats streaming for container 2a13a5f711c7"
    level=debug msg="stopping stats streaming for container 86037674e43d"
    level=debug msg="stopping stats streaming for container 3911b71a11b1"
    level=debug msg="stopping stats streaming for container a4e0e1d54734"
    level=debug msg="stopping stats streaming for container 1237bccfc883"
    level=debug msg="stopping stats streaming for container 4a2099e9f593"
    level=debug msg="stopping stats streaming for container 087ed50422c4"
    level=debug msg="stopping stats streaming for container ca413099641f"
    level=debug msg="stopping stats streaming for container 1ca8affd3e8e"
    level=debug msg="starting to stream stats for: 74ee6bf5943d"
    level=debug msg="starting to stream stats for: 4a2099e9f593"
    level=debug msg="starting to stream stats for: ca413099641f"
    level=debug msg="starting to stream stats for: 087ed50422c4"
    level=debug msg="starting to stream stats for: 1237bccfc883"
    level=debug msg="starting to stream stats for: 1ca8affd3e8e"
    level=debug msg="starting to stream stats for: 2a13a5f711c7"
    level=debug msg="starting to stream stats for: 24c6418957a3"
    level=debug msg="starting to stream stats for: a4e0e1d54734"
    level=debug msg="starting to stream stats for: 3911b71a11b1"
    level=debug msg="starting to stream stats for: 86037674e43d"
    level=debug msg="starting to stream stats for: 2c900b784472"
    

    Here here my compose file :

    version: "3"
    services:
      dozzle:
        container_name: dozzle
        image: amir20/dozzle:latest
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
        environment:
          DOZZLE_LEVEL: debug
        ports:
          - 9999:8080
        labels:
          - com.centurylinklabs.watchtower.enable=true
    

    Thank you for your help ! ^^

  • Mouse wheel scroll issues in pinned-mode

    Mouse wheel scroll issues in pinned-mode

    Describe the bug When a set of logs is pinned, the ability to scroll up through any/all displayed logs using the mouse wheel is lost. Scrolling down using the mouse wheel functions as expected.

    To Reproduce Steps to reproduce the behavior:

    1. Go to the Dozzle web interface.
    2. Click on the 'pin' icon for any listed container.
    3. Attempt to scroll up through the container's logs using the mouse wheel.

    Expected behavior Logs should scroll up or down using when using the mouse wheel, regardless of whether or not any logs are pinned.

    Desktop (please complete the following information):

    • OS: Windows 10 (client), Centos 7 (Dozzle host)
    • Docker version: 19.03.12, build 48a66213fe (Dozzle host)
    • Browser & version: Firefox 77.0.1 (64-bit)
    • Version: 2.0.2
  • Multilingual translation support

    Multilingual translation support

    The translation in several languages of this application is needed due to the fact that the other languages are being ignored so that the people who use or try to use this application will have the problem that it is not translated in their language which is unproductive for the application itself since those users will not use this.

  • Little more insights on CPU and Memory Usage Statistics

    Little more insights on CPU and Memory Usage Statistics

    In my usage of this tool, what I found missing was, not able to view the CPU / Memory usage metrics for containers of similar groups.

    The aim of this feature is to view statistics options such as:

    1. highest CPU-intensive container group
    2. highest memory-consuming container group

    For example, If I monitor 20 total instances in dozzle, out of which 10 instances are of "Type A" container, 5 are of "Type B" container and 5 are of "Type C" container, Then I need to view metrics of how much CPU does each type of container use.

    What I used as a workaround was as follows:

    1. Used this endpoint api/events/stream to get the necessary data
    2. group those based on image name (Considering same image would be used to create multiple instances)
    3. Derive the necessary statistics

    The output I derived was something like this image below:

    image
  • Dozzle fails to load stream for Docker-compose with flag `tty:True`

    Dozzle fails to load stream for Docker-compose with flag `tty:True`

    The dozzle output remains blank and the network tab of the browser shows the /stream?id=###### API call to never start nor finish. It receives no data back.

    Steps to reproduce

    • Start any gekkobot container
    • Start Dozzle
    • Try to connect to the gekkobot container output in Dozzle

    I really want this to work, because Dozzle is perfect for viewing the output of an automated trading bot.

    This is an example of the output from a Gekko container straight from docker CLI

    Creating gekkobot_gekko-cli-test ... done
    Attaching to gekkobot_gekko-cli-test
    gekko-cli-test  | 
    gekko-cli-test  |     ______   ________  __    __  __    __   ______
    gekko-cli-test  |    /      \ /        |/  |  /  |/  |  /  | /      \
    gekko-cli-test  |   /$$$$$$  |$$$$$$$$/ $$ | /$$/ $$ | /$$/ /$$$$$$  |
    gekko-cli-test  |   $$ | _$$/ $$ |__    $$ |/$$/  $$ |/$$/  $$ |  $$ |
    gekko-cli-test  |   $$ |/    |$$    |   $$  $$<   $$  $$<   $$ |  $$ |
    gekko-cli-test  |   $$ |$$$$ |$$$$$/    $$$$$  \  $$$$$  \  $$ |  $$ |
    gekko-cli-test  |   $$ \__$$ |$$ |_____ $$ |$$  \ $$ |$$  \ $$ \__$$ |
    gekko-cli-test  |   $$    $$/ $$       |$$ | $$  |$$ | $$  |$$    $$/ 
    gekko-cli-test  |    $$$$$$/  $$$$$$$$/ $$/   $$/ $$/   $$/  $$$$$$/
    gekko-cli-test  | 
    gekko-cli-test  | 	Gekko v0.6.8
    gekko-cli-test  | 	I'm gonna make you rich, Bud Fox. 
    gekko-cli-test  | 
    gekko-cli-test  | 
    gekko-cli-test  | 2019-10-29 15:22:40 (INFO):	Setting up Gekko in realtime mode
    gekko-cli-test  | 2019-10-29 15:22:40 (INFO):	
    gekko-cli-test  | 2019-10-29 15:22:40 (INFO):	Setting up:
    gekko-cli-test  | 2019-10-29 15:22:40 (INFO):		 Candle writer
    gekko-cli-test  | 2019-10-29 15:22:40 (INFO):		 Store candles in a database
    gekko-cli-test  | 2019-10-29 15:22:40 (INFO):	
    gekko-cli-test  | 
    gekko-cli-test  | 2019-10-29 15:22:40 (INFO):	Setting up:
    gekko-cli-test  | 2019-10-29 15:22:40 (INFO):		 Trading Advisor
    gekko-cli-test  | 2019-10-29 15:22:40 (INFO):		 Calculate trading advice
    
    

    Dozzle is working for any other container and shows the output, but strangely I do see a console error

    Firefox can’t establish a connection to the server at https://dozzle.domain.com/api/events/stream. main.b644d699.js:12:278
    The connection to https://dozzle.domain.com/api/logs/stream?id=################ was interrupted while the page was loading.
    

    Even with that error, it still loads the stream for the non gekko containers. Any idea why it won't load the gekko container stream, with no response from the API?

    And, what is the meaning of the console error for the containers even when it loads fine?

  • Feature request: Allow logs to be referenced by container name

    Feature request: Allow logs to be referenced by container name

    Hi there,

    I'm a huge fan of using dozzle, since it's so lightweight. We use it however in a kind of active CI/CD environment, where containers are redeployed constantly. When referring to the logs of a specific container however, the container id is used.

    This makes sharing specific container log links not reliable.

    Would it be possible to make an endpoint where containers can be referenced by name instead of shortid?

    Thanks in advance,

    Johannes

  • Possibility to add a healtcheck

    Possibility to add a healtcheck

    Is your feature request related to a problem? Please describe. I'm trying to reliably start up a Dozzle container, and check if the service is running as expected. If I do that with for example a DOZZLE_FILTER environment variable with a filter that is not acceptable, the container will be starting, will become running, but will then fail a second (or so) later. It makes checking for the container unreliable right after it starts. It quickly reports to be running, only to still fail right after. But adding sleep 5 in a script feels like an icky way to go about this.

    As has been mentioned in the Dozzle issuetracker before, Docker has a solution to this: adding a healthcheck. I have seen the reasoning to not add the HEALTHCHECK directly in the Dockerfile, and the choice to keep away from things that also have to be maintained without being able to test them. So I wanted to check if I can add something myself. Turns out you are doing the great thing of using multi-stage builds (awesome!), which sadly also means there is no means of in any way adding my own basic healthcheck to the default image, because there's no other possible entrypoint in there than the /dozzle binary. I could recreate my own container, and copy the /dozzle binary and these few other files to that container once again, and add a curl, but I'm never happy to extend good containers, because it uses internal implementation details that might be changing (for good reasons) at any time. So before I go that route, could I pick your brain to resolve it in the Dozzle codebase itself?

    Describe the solution you'd like AND alternatives you've considered Would it be possible to have the /dozzle binary have some other endpoints or flags?

    • /dozzle --healthcheck "green": check if the Dozzle health is green
    • /dozzle --status "green": check if the Dozzle status reports as green
    • /dozzle --stats "containers,filter" --stats-status "containers<10": check if the Dozzle reports less than 10 containers to be running

    WDYT? Is there maybe a very easy solution to this in the Dozzle codebase? Some entrypoint that is already being used in the tests, that could be easily promoted to production ready? Or some entrypoint that would make the tests easier as well? And would you consider spending time on it? ;)

  • Add jump to context (Work in progress)

    Add jump to context (Work in progress)

    Here's what I have so far for the new jump to context feature. Will close #1586 when it's done and merged.

    Screenshot 2022-01-16 at 02-08-55 eager_pascal - Dozzle Screenshot 2022-01-16 at 02-09-24 eager_pascal - Dozzle

    To Do

    • [ ] ~Find a way to notify ScrollableView component when user has clicked on jump to line button, so that the view won't stick to the bottom and prevent the view from scrolling to the line. (I added some timing hacks for now)~ edit: I have later found that there actually doesn't seem to be a difference whether the view sticks to the bottom or not.
    • [x] Improve UI for jump to context button. Maybe position it a bit more, and/or add an outline around the line to give indicator of which line will be jumped to.
    • [ ] ~Fix text coloring when there are colored lines~ edit: omitting for now, from initial investigation this will require editing all the default colors provided by ansi-to-html library. (using the colors constructor option) I think once this feature gets merged and into the next release, we can get a better idea of how these colors should be modified when highlighted.
    • [x] Add light mode colors for selected line
    • [x] Fix jump to context not working on split pane views
    • [x] Fix horizontal scrollbar if log line exceeds width of page
    • [ ] ~Fix regression where exiting search in split pane mode sometimes causes the pane on the right to offset out of view, requires scrolling up slightly to fix~ edit: found this bug outside of my branch so I'll be making a new issue for it soon
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    This repository currently has no open or pending branches.

    Detected dependencies

    docker-compose
    e2e/docker-compose.yml
    dockerfile
    Dockerfile
    • node 19-alpine
    • golang 1.19.4-alpine
    e2e/Dockerfile
    • cypress/included 12.2.0
    github-actions
    .github/workflows/deploy.yml
    • actions/checkout v3
    • actions/setup-node v3
    • pnpm/action-setup v2.2.4
    • actions/setup-go v3
    • actions/checkout v3
    • actions/checkout v3
    • docker/metadata-action v4
    • docker/setup-buildx-action v2.2.1
    • docker/login-action v2.1.0
    • docker/build-push-action v3.2.0
    • actions/checkout v3
    • actions/setup-node v3
    • pnpm/action-setup v2.2.4
    .github/workflows/dev.yml
    • docker/metadata-action v4
    • docker/setup-buildx-action v2.2.1
    • docker/login-action v2.1.0
    • docker/build-push-action v3.2.0
    .github/workflows/test.yml
    • actions/checkout v3
    • actions/setup-node v3
    • pnpm/action-setup v2.2.4
    • actions/setup-go v3
    • actions/checkout v3
    • actions/checkout v3
    • docker/setup-buildx-action v2.2.1
    • docker/login-action v2.1.0
    gomod
    go.mod
    • github.com/alexflint/go-arg v1.4.3
    • github.com/beme/abide v0.0.0-20190723115211-635a09831760@635a09831760
    • github.com/docker/docker v20.10.22+incompatible
    • github.com/dustin/go-humanize v1.0.0
    • github.com/gorilla/mux v1.8.0
    • github.com/gorilla/sessions v1.2.1
    • github.com/magiconair/properties v1.8.7
    • github.com/sirupsen/logrus v1.9.0
    • github.com/spf13/afero v1.9.3
    • github.com/stretchr/testify v1.8.1
    • go 1.19
    npm
    e2e/package.json
    • @frsource/cypress-plugin-visual-regression-diff ^3.2.5
    • cypress ^12.0.2
    • typescript ^4.9.4
    package.json
    • @iconify-json/carbon ^1.1.11
    • @iconify-json/cil ^1.1.3
    • @iconify-json/mdi ^1.1.40
    • @iconify-json/mdi-light ^1.1.5
    • @iconify-json/octicon ^1.1.26
    • @intlify/unplugin-vue-i18n ^0.8.1
    • @oruga-ui/oruga-next ^0.5.10
    • @oruga-ui/theme-bulma ^0.2.8
    • @vueuse/core ^9.9.0
    • @vueuse/integrations ^9.9.0
    • @vueuse/router ^9.9.0
    • ansi-to-html ^0.7.2
    • bulma ^0.9.4
    • d3-array ^3.2.1
    • d3-ease ^3.0.1
    • d3-scale ^4.0.2
    • d3-selection ^3.0.0
    • d3-shape ^3.2.0
    • d3-transition ^3.0.1
    • date-fns ^2.29.3
    • fuse.js ^6.6.2
    • lodash.debounce ^4.0.8
    • pinia ^2.0.28
    • semver ^7.3.8
    • splitpanes ^3.1.5
    • vue ^3.2.45
    • vue-i18n ^9.2.2
    • vue-router ^4.1.6
    • @pinia/testing ^0.0.14
    • @types/d3-array ^3.0.3
    • @types/d3-ease ^3.0.0
    • @types/d3-scale ^4.0.2
    • @types/d3-selection ^3.0.3
    • @types/d3-shape ^3.1.0
    • @types/d3-transition ^3.0.2
    • @types/lodash.debounce ^4.0.7
    • @types/node ^18.11.18
    • @types/semver ^7.3.13
    • @vitejs/plugin-vue 4.0.0
    • @vue/compiler-sfc ^3.2.45
    • @vue/test-utils ^2.2.6
    • c8 ^7.12.0
    • eventsourcemock ^2.0.0
    • husky ^8.0.2
    • jest-serializer-vue ^3.0.0
    • jsdom ^20.0.3
    • lint-staged ^13.1.0
    • npm-run-all ^4.1.5
    • prettier ^2.8.1
    • release-it ^15.6.0
    • sass ^1.57.1
    • ts-node ^10.9.1
    • typescript ^4.9.4
    • unplugin-auto-import ^0.12.1
    • unplugin-icons ^0.14.15
    • unplugin-vue-components ^0.22.12
    • vite 4.0.3
    • vite-plugin-pages ^0.28.0
    • vite-plugin-vue-layouts ^0.7.0
    • vitest ^0.26.2
    • vue-tsc ^1.0.18

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
  • Dozzle as Docker Extension

    Dozzle as Docker Extension

    Is your feature request related to a problem? Please describe. Dozzle could simply fit in the Docker Desktop as an Extension. Beginner users could just install the app via Extensions Marketplace without configuring or typing commands in the terminal.

    Describe the solution you'd like If you aren’t familiar with Docker extensions, Docker Extensions are a way for our partners to include their products' functionality in our Docker Desktop application.

    • There is an SDK available
    • as well as docs on how to integrate Creating a Docker Extension also gives you access to our user base for developers to discover a potential new tool if our users aren't already using your product.

    I'm also including two blogs that also help better explain how to build an extension and one that shows the marketplace and our initial launch partners.

exo: a process manager & log viewer for dev
 exo: a process manager & log viewer for dev

exo: a process manager & log viewer for dev exo- prefix – external; from outside. Features Procfile compatible process manager.

Dec 28, 2022
An golang log lib, supports tracking and level, wrap by standard log lib

Logex An golang log lib, supports tracing and level, wrap by standard log lib How To Get shell go get gopkg.in/logex.v1 source code import "gopkg.in/

Nov 27, 2022
Nginx-Log-Analyzer is a lightweight (simplistic) log analyzer for Nginx.
Nginx-Log-Analyzer is a lightweight (simplistic) log analyzer for Nginx.

Nginx-Log-Analyzer is a lightweight (simplistic) log analyzer, used to analyze Nginx access logs for myself.

Nov 29, 2022
Distributed-Log-Service - Distributed Log Service With Golang
Distributed-Log-Service - Distributed Log Service With Golang

Distributed Log Service This project is essentially a result of my attempt to un

Jun 1, 2022
Log-analyzer - Log analyzer with golang

Log Analyzer what do we have here? Objective Installation and Running Applicatio

Jan 27, 2022
a golang log lib supports level and multi handlers

go-log a golang log lib supports level and multi handlers Use import "github.com/siddontang/go-log/log" //log with different level log.Info("hello wo

Dec 29, 2022
Structured log interface

Structured log interface Package log provides the separation of the logging interface from its implementation and decouples the logger backend from yo

Sep 26, 2022
lumberjack is a log rolling package for Go

lumberjack Lumberjack is a Go package for writing logs to rolling files. Package lumberjack provides a rolling logger. Note that this is v2.0 of lumbe

Jan 1, 2023
CoLog is a prefix-based leveled execution log for Go
CoLog is a prefix-based leveled execution log for Go

What's CoLog? CoLog is a prefix-based leveled execution log for Go. It's heavily inspired by Logrus and aims to offer similar features by parsing the

Dec 14, 2022
OpenTelemetry log collection library

opentelemetry-log-collection Status This project was originally developed by observIQ under the name Stanza. It has been contributed to the OpenTeleme

Sep 15, 2022
A simple web service for storing text log files

logpaste A minimalist web service for uploading and sharing log files. Run locally go run main.go Run in local Docker container The Docker container a

Dec 30, 2022
Write log entries, get X-Ray traces.

logtoxray Write to logs, get X-Ray traces. No distributed tracing instrumenation library required. ?? ?? ?? THIS PROJECT IS A WORK-IN-PROGRESS PROTOTY

Apr 24, 2022
Binalyze logger is an easily customizable wrapper for logrus with log rotation

logger logger is an easily customizable wrapper for logrus with log rotation Usage There is only one function to initialize logger. logger.Init() When

Oct 2, 2022
Log-structured virtual disk in Ceph
Log-structured virtual disk in Ceph

lsd_ceph Log-structured virtual disk in Ceph 1. Vision and Goals of the Project Implement the basic librbd API to work with the research block device

Dec 13, 2021
Multi-level logger based on go std log

mlog the mlog is multi-level logger based on go std log. It is: Simple Easy to use NOTHING ELSE package main import ( log "github.com/ccpaging/lo

May 18, 2022
Simple log parser written in Golang

Simple log parser written in Golang

Oct 31, 2021
Nginx JSON Log Analyze

Nginx-JSON-Log-Analyze Nginx Configuration log_format json_log escape=json '{"time_iso8601":"$time_iso8601",' '"remote

Nov 29, 2022
A Log merging tool for linux.

logmerge A Log merging tool for linux. How to build make build How to run --files or -f will allow you to specify multiple log files (comma-seperated)

Nov 4, 2021
Secure logger in Go to avoid output sensitive data in log
Secure logger in Go to avoid output sensitive data in log

zlog A main distinct feature of zlog is secure logging that avoid to output secret/sensitive values to log. The feature reduce risk to store secret va

Dec 6, 2022