pkg.soopen package index

brew / rank 8395

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

Additional install commands

macOS

Homebrewverified · 100%
brew install jlog

local Homebrew formula metadata

overview

Package summary

Pure C message queue with subscribers and publishers for logs

Commands and aliases

  • jlog_change_endian
  • jlog_sanity_check
  • jlogctl
  • jlogtail

history

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 posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
jlog_change_endianexecutableindexed executableDiscovered from the local executable index.
jlog_sanity_checkexecutableindexed executableDiscovered from the local executable index.
jlogctlexecutableindexed executableDiscovered from the local executable index.
jlogtailexecutableindexed executableDiscovered from the local executable index.

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-08-03
manager version2.6.0
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:jlog
Version2.6.0
Package managerHomebrew
Homepagehttps://labs.omniti.com/labs/jlog
Repositoryhttps://github.com/omniti-labs/jlog
Bottlenot recorded
Servicenone declared

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • cross-ecosystem install command graph
  • curated package history
  • pkg.so package database
  • pkgdb category and tag curation