{"id":36417983,"url":"https://github.com/zolyfarkas/spf4j-logback","last_synced_at":"2026-01-11T17:01:18.308Z","repository":{"id":48285645,"uuid":"169889163","full_name":"zolyfarkas/spf4j-logback","owner":"zolyfarkas","description":"logback avro appenders and encoders for structure and efficiency","archived":false,"fork":false,"pushed_at":"2024-02-22T17:53:54.000Z","size":194,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-17T10:42:45.663Z","etag":null,"topics":["avro","java","logback","logs"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zolyfarkas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-02-09T16:52:28.000Z","updated_at":"2021-11-27T18:11:27.000Z","dependencies_parsed_at":"2024-01-07T20:55:56.626Z","dependency_job_id":"9803bde7-0002-45b3-b759-5d230e4f603e","html_url":"https://github.com/zolyfarkas/spf4j-logback","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/zolyfarkas/spf4j-logback","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zolyfarkas%2Fspf4j-logback","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zolyfarkas%2Fspf4j-logback/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zolyfarkas%2Fspf4j-logback/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zolyfarkas%2Fspf4j-logback/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zolyfarkas","download_url":"https://codeload.github.com/zolyfarkas/spf4j-logback/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zolyfarkas%2Fspf4j-logback/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28314254,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T14:58:17.114Z","status":"ssl_error","status_checked_at":"2026-01-11T14:55:53.580Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avro","java","logback","logs"],"created_at":"2026-01-11T17:00:37.370Z","updated_at":"2026-01-11T17:01:18.293Z","avatar_url":"https://github.com/zolyfarkas.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# spf4j-logback\n\nA collection of logback components to implement:\n\n * Log directly to avro data files. Significantly more compacter (5x), structured. See schema [at](https://zolyfarkas.github.io/core-schema/avrodoc.html#/schema/org%2Fspf4j%2Fbase%2Favro%2FLogRecord.avsc/org.spf4j.base.avro.LogRecord)\n\n * Json encoder to use with stock logback appenders.\n\n * Available /logs JAX-RS [actuator endpoint](https://github.com/zolyfarkas/jaxrs-spf4j-demo/wiki/JaxRsActuator), that allows you fast access to your logs, across your entire cluster. (in spf4j-jaxrs-actuator)\n\n latest version: [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.spf4j/spf4j-logback/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.spf4j/spf4j-logback/)\n\n\nTo use it all you need to do it to add :\n\n```\n    \u003cdependency\u003e\n      \u003cgroupId\u003eorg.spf4j\u003c/groupId\u003e\n      \u003cartifactId\u003espf4j-logback\u003c/artifactId\u003e\n      \u003cversion\u003eLATEST\u003c/version\u003e\n    \u003c/dependency\u003e\n```\n\nand configure your logback.xml accordingly.\n\nThe library contains a default [logback.xml](https://github.com/zolyfarkas/spf4j-logback/blob/master/src/main/resources/logback.xml)\nthat will log to the console in text format. The console output is usually used during the initialization and destruction phase\nof the process, before and after [LogbackService](https://github.com/zolyfarkas/spf4j-logback/blob/master/src/main/java/org/spf4j/log/LogbackService.java).\nLogbackService defaults to [logback-avro.xml](https://github.com/zolyfarkas/spf4j-logback/blob/master/src/main/resources/logback-avro.xml) which will\nlog all logs to a avro binary file.\n\nHere is a example logback configuration to enable all logs to a avro log file, and errors to the console in json format as well.\n\n```\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cconfiguration\u003e\n   \u003cshutdownHook/\u003e\n\n  \t\u003cappender name=\"CONSOLE\" class=\"ch.qos.logback.core.ConsoleAppender\"\u003e\n          \u003cencoder class=\"org.spf4j.log.ReadableLogbackEncoder\"/\u003e\n              \u003c!-- you want JSON, use this:\n\t\t\u003cencoder class=\"org.spf4j.log.AvroLogbackEncoder\"/\u003e\n              --\u003e\n          \u003cfilter class=\"ch.qos.logback.classic.filter.ThresholdFilter\"\u003e\n            \u003clevel\u003eERROR\u003c/level\u003e\n          \u003c/filter\u003e\n\t\u003c/appender\u003e\n\n\t\u003cappender name=\"default\" class=\"org.spf4j.log.AvroDataFileAppender\"\u003e\n          \u003cfileNameBase\u003e${logFileBase}\u003c/fileNameBase\u003e\n          \u003cdestinationPath\u003e/var/log\u003c/destinationPath\u003e\n\t\u003c/appender\u003e\n\n        \u003cappender name=\"ASYNC_FILE\" class=\"ch.qos.logback.classic.AsyncAppender\"\u003e\n          \u003cappender-ref ref=\"default\"/\u003e\n          \u003cqueueSize\u003e500\u003c/queueSize\u003e\n          \u003cmaxFlushTime\u003e1000\u003c/maxFlushTime\u003e\n       \u003c/appender\u003e\n\n\t\u003clogger name=\"org.spf4j\" level=\"info\" additivity=\"false\"\u003e\n\t\t\u003cappender-ref ref=\"ASYNC_FILE\" /\u003e\n\t\u003c/logger\u003e\n\n\t\u003croot level=\"warn\"\u003e\n          \u003cappender-ref ref=\"ASYNC_FILE\" /\u003e\n          \u003cappender-ref ref=\"CONSOLE\" /\u003e\n\t\u003c/root\u003e\n\n\u003c/configuration\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzolyfarkas%2Fspf4j-logback","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzolyfarkas%2Fspf4j-logback","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzolyfarkas%2Fspf4j-logback/lists"}