coakka-logger-node
v1.2.6
Published
Node.js connector package for the CoAkka native logger core
Maintainers
Readme
CoAkka Logger Node
logger/node/ is the Node.js host connector lane for the standalone CoAkka
native logger core.
New To CoAkka
CoAkka is a native-backed runtime and logger toolkit for application-owned work. The logger package is the bounded native logger surface: app code emits records, the native logger owns queueing and pressure behavior, and callers can observe accepted, delivered, and dropped counts.
Use these public repositories to orient first:
| Repository | Use it for | Link |
| --- | --- | --- |
| coakka-samples | Runnable examples and code you can inspect first. | https://github.com/phuong-tran/coakka-samples |
| coakka-publish | Released packages, native archives, manifests, checksums, compatibility matrix, and release notes. | https://github.com/phuong-tran/coakka-publish |
Run the matching sample:
git clone https://github.com/phuong-tran/coakka-samples.git
cd coakka-samples
bash run.sh logger node basicNo-checkout npm smoke: https://github.com/phuong-tran/coakka-samples/blob/main/docs/first-npm-smoke.md
Samples docs directory: https://github.com/phuong-tran/coakka-samples/tree/main/docs
Try the npm package without cloning any CoAkka repo:
mkdir coakka-logger-first-run
cd coakka-logger-first-run
npm init -y
npm install [email protected]import { CoakkaLoggerLevel, Logger } from "coakka-logger-node";
const logger = Logger.start({
systemName: "first-user-logger",
minLevel: CoakkaLoggerLevel.INFO,
});
try {
const sequence = logger.info("first.user", JSON.stringify({ hello: "logger" }));
const record = logger.awaitNext(1000);
if (sequence == null || record == null) {
throw new Error("expected one accepted and drained log record");
}
console.log({ sequence: record.sequence, category: record.category });
} finally {
logger.close();
}It mirrors the Python logger lane:
- load
libcoakka_logger_corethroughkoffi - keep Node-side formatting above the native core
- let the native logger own queueing, pressure policy, sinks, and lifecycle
- package staged native libraries into the npm tarball for macOS aarch64, Linux aarch64, and Linux x86_64
Build
npm --prefix logger/node run buildThe script stages native libraries from:
logger/staging/native/1.2.1+f50756ebff0d/Smoke
npm --prefix logger/node test
npm --prefix logger/node run smoke:packagedExample
import { Logger } from "coakka-logger-node";
const logger = Logger.start();
try {
logger.info("app", "started");
const record = logger.awaitNext(1000);
} finally {
logger.close();
}