# Install jlog with Homebrew

Pure C message queue with subscribers and publishers for logs. Version 2.6.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:jlog
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install jlog
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:jlog
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/jlog>
- **Version:** 2.6.0
- **Source summary:** Pure C message queue with subscribers and publishers for logs
- **Homepage:** <https://labs.omniti.com/labs/jlog>
- **Repository:** <https://github.com/omniti-labs/jlog>
- **Upstream docs:** <https://github.com/omniti-labs/jlog#readme>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/omniti-labs/jlog/archive/refs/tags/2.6.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- jlog_change_endian (cli)
- jlog_sanity_check (cli)
- jlogctl (cli)
- jlogtail (cli)
- jlog_change_endian (alias)
- jlog_sanity_check (alias)
- jlogctl (alias)
- jlogtail (alias)

## Build dependencies

- autoconf
- automake

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, monterey, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.6.0
- Local data: ok
- Upstream repository: https://github.com/omniti-labs/jlog
- Upstream latest detected: 2.6.0 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

JLog is a pure-C durable message queue whose name expands to journaled log. It gives publishers and multiple subscribers a low-level on-disk log abstraction, with segment files retained until subscribers have consumed and checkpointed them.

### Project history

The project comes from OmniTI Labs and the README lists Wez Furlong, Alec Peterson, George Schlossnagle, Theo Schlossnagle, and Alexey Toptygin as the team. The changelog begins with a 1.0 initial release on 2009-05-13, placing JLog in the older generation of C infrastructure libraries built for reliable log and event pipelines.

JLog evolved through operational fixes and API additions rather than broad feature expansion. The 2.x line added Darwin support, `jlogtail`, repair APIs, Java and PHP support, bulk reads, precommit-buffer performance work, and later filesystem-focused fixes around `mmap`, compression, and short writes.

### Adoption history

The README documents installation via FreeBSD's `databases/jlog` port and Homebrew on macOS, while the input package metadata records Homebrew packaging. Its adoption story is narrower than general-purpose queues because it is a library and CLI toolkit for systems that need local durability rather than a networked broker.

### How it is used

JLog is used when an application needs to write records locally and let one or more subscribers consume them later. The README's sample scenario is log shipping: server A writes to a JLog if server B is down, so A keeps operating and B can later consume messages.

The concepts document explains the core model: a JLog is a directory containing control files and segment files; writers append messages; subscribers keep unique names and checkpoint progress; segment files are removed after all subscribers have moved past them.

### Why package nerds care

JLog is package-nerdy because it is small, old-school C infrastructure: not a fashionable distributed queue, but a durable local primitive with command-line tools such as `jlogctl` and `jlogtail`. It matters in package indexes as a compact building block for logging and asynchronous notification systems.

### Timeline

- 2009: Version 1.0 is released.
- 2011: Version 1.2 fixes interrupted `fstat()` handling and an uninitialized variable.
- 2013: Version 1.2.2 adds PHP and Java JNI support.
- 2015: Version 2.0.0 adds Darwin support, `jlogtail`, cleanup APIs, and robustness work.
- 2016: Version 2.2.1 adds a precommit buffer and lockless writes using `pwritev`.
- 2017: Version 2.3.0 adds the bulk-read API.
- 2020: Version 2.5.0 reworks `jlogctl` around subcommands and adds repair/metastore reconstruction.
- 2024: Version 2.6.0 adds an option to switch message reads from `mmap` to `pread` and fixes compression and short-write issues.

### Related projects

- JLog sits near local durable queues, log buffers, and broker-adjacent infrastructure rather than general log viewers. Its README contrasts the low-level local queue with the network service an implementor would build around it for remote consumption.

### Sources

- Project README, concepts document, changelog, GitHub repository metadata, and Homebrew formula metadata.


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** jlog
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Database and data packages](https://www.automicvault.com/pkg/database-data-tools/) - Matched database, SQL, migration, or data-store metadata.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://www.automicvault.com/pkg/brew/automake/) - Build dependency declared by Homebrew.
- [fq](https://www.automicvault.com/pkg/brew/fq/) - Popular package that depends on this formula.
- [avro-c](https://www.automicvault.com/pkg/brew/avro-c/) - Shares av.db curated category or tags: c, cli, data.
- [ejdb](https://www.automicvault.com/pkg/brew/ejdb/) - Shares av.db curated category or tags: c, cli, data.
- [h3](https://www.automicvault.com/pkg/brew/h3/) - Shares av.db curated category or tags: c, cli, data.
- [libcouchbase](https://www.automicvault.com/pkg/brew/libcouchbase/) - Shares av.db curated category or tags: c, cli, data.
- [liblzf](https://www.automicvault.com/pkg/brew/liblzf/) - Shares av.db curated category or tags: c, cli, data.
- [libmatio](https://www.automicvault.com/pkg/brew/libmatio/) - Shares av.db curated category or tags: c, cli, data.
- [libmaxminddb](https://www.automicvault.com/pkg/brew/libmaxminddb/) - Shares av.db curated category or tags: c, cli, data.
- [nsq](https://www.automicvault.com/pkg/brew/nsq/) - Local package facts share a topical domain. Shared terms: cli, data, message, message-queue, queue.
- [mcap](https://www.automicvault.com/pkg/brew/mcap/) - Local package facts share a topical domain. Shared terms: cli, data, logging.

## Combined YAML source

View the package source record on GitHub. [combined/jlog.yml](https://github.com/automic-vault/db/blob/main/combined/jlog.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
