The libLogit model is intentionally small:
LOGIT.The exact constructor and call syntax varies by language. The portable contract does not.
LOGIT LogIT = []
LogIT.outputDirectory = "logs"
LogIT.localPath = "logs/app.log"
LogIT.level = DEBUG
LogIT(INFO) << "service started"
Use outputDirectory when a binding supports directory mode and should derive
the final file name from the logger name. Use localPath when the application
needs an exact file path.
from liblogit import DEBUG, INFO, LOGIT, ENDL
LogIT = LOGIT()
LogIT.localPath = "logs/python-app.log"
LogIT.level = DEBUG
LogIT(INFO) << "service started" << ENDL
Structure-fed setup:
from liblogit import INFO, LOGIT
LogIT = LOGIT({
"name": "AppLog",
"localPath": "logs/python-app.log",
"level": "debug",
"format": "json",
})
LogIT.log(INFO, {"event": "service_started"})
#include <liblogit/logit.hpp>
int main() {
auto LogIT = liblogit::LOGIT{};
LogIT.localPath = "logs/cpp-app.log";
LogIT.level = liblogit::Level::DEBUG;
LogIT(liblogit::Level::INFO) << "service started";
}
#include <liblogit/logit.h>
int main(void) {
liblogit_logit LogIT = liblogit_logit_default();
liblogit_logit_set_output_directory(&LogIT, "logs");
liblogit_logit_set_level(&LogIT, LIBLOGIT_DEBUG);
liblogit_builder builder = liblogit_logit_at(&LogIT, LIBLOGIT_INFO);
liblogit_builder_append(&builder, "service started");
liblogit_builder_commit(&builder);
}
using LibLogit;
var LogIT = new Logit();
LogIT.OutputDirectory = "logs";
LogIT.Level = Level.Debug;
LogIT.At(Level.Info).Append("service started").Commit();
import dev.liblogit.Logit;
class App {
public static void main(String[] args) {
Logit LogIT = new Logit();
LogIT.setOutputDirectory("logs");
LogIT.level = Logit.Level.DEBUG;
LogIT.at(Logit.Level.INFO).append("service started").commit();
}
}
const { LOGIT, levels } = require("../../languages/javascript/src/liblogit");
const LogIT = new LOGIT();
LogIT.outputDirectory = "logs";
LogIT.level = levels.DEBUG;
LogIT.at(levels.INFO).append("service started").commit();
package main
import "github.com/asparks1987/liblogit/languages/go/liblogit"
func main() {
LogIT := liblogit.New()
LogIT.SetOutputDirectory("logs")
LogIT.Level = liblogit.Debug
_ = LogIT.At(liblogit.Info).Append("service started").Commit()
}
import dev.liblogit.KotlinLogit
fun main() {
val LogIT = KotlinLogit()
LogIT.outputDirectory = "logs"
LogIT.level = "debug"
(LogIT.at("info") shl "service started").commit()
}
For complete setup rules, level names, sink behavior, local database storage, and troubleshooting, continue with Developer instructions.