Skip to content

orlenko/mega-tail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mega-tail

Tail dynamic logs in a directory tree.

mega-tail follows appended lines across all matching log files under a root directory, and automatically starts following newly created log files as they appear.

Features

  • Recursive discovery under one or more root directories
  • Live follow of existing files
  • Auto-discovery of new files
  • Per-line prefix with source file path and detection timestamp
  • Handles truncation/rotation safely

Usage

Run via npx (no prior install needed):

npx mega-tail /var/log/myapp

Watch multiple directories in a single unified stream:

npx mega-tail /var/log/myapp /var/log/myapp-feeder

Each [<relpath>] prefix is rendered relative to whichever supplied root contains the file. If two roots overlap (e.g. /a and /a/b), the longer (more specific) root wins so the prefix is unambiguous. Single-path invocations are byte-identical to prior versions.

Run local Python script:

./mega-tail <directory>

Run local Node script:

node bin/mega-tail.js <directory> [<directory> ...]

Examples:

./mega-tail /var/log/myapp
node bin/mega-tail.js /var/log/myapp
npx mega-tail /var/log/myapp
npx mega-tail /var/log/myapp /var/log/myapp-feeder

Sample output:

[subdir1/somelog.log] [2026-02-05 16:09:07.333] 2026-02-02: 12:23:23.123 [DEBUG] my log message....
[subdir2/somelog2.log] [2026-02-05 16:09:07.337] 2026-02-02: 12:23:23.223 [DEBUG] my otherlog message....

Options

npx mega-tail --help

Key options:

  • --glob <pattern>: Add include glob (repeatable)
  • --poll-interval <seconds>: Read loop interval
  • --scan-interval <seconds>: New-file scan interval
  • -n, --initial-lines <N>: Show last N lines on startup
  • --color auto|always|never: Color mode

Publishing to npm

npm login
npm whoami
npm version patch
npm publish --access public

Automated npm Publish (GitHub Actions)

One-time setup:

  1. Create an npm automation token (publish scope) in npm settings.
  2. Add it to this repo as secret NPM_TOKEN.

Release flow:

npm version patch
git push origin main --follow-tags

Pushing a v* tag (for example v0.1.1) triggers .github/workflows/publish.yml and publishes that version to npm.

About

Recursively monitors log files under a directory, like a smarter `tail-f`

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors