{"id":24612738,"url":"https://github.com/technologize/fluency-log4j-appender","last_synced_at":"2025-05-06T22:15:30.751Z","repository":{"id":37984920,"uuid":"387745376","full_name":"technologize/fluency-log4j-appender","owner":"technologize","description":"log4j appenders based on fluency","archived":false,"fork":false,"pushed_at":"2023-02-28T02:58:32.000Z","size":49,"stargazers_count":4,"open_issues_count":11,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-06T22:15:15.469Z","etag":null,"topics":["aws-s3","fluentd","java","log4j2"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/technologize.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-20T09:48:16.000Z","updated_at":"2024-09-18T07:18:01.000Z","dependencies_parsed_at":"2023-01-29T01:45:14.076Z","dependency_job_id":null,"html_url":"https://github.com/technologize/fluency-log4j-appender","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/technologize%2Ffluency-log4j-appender","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/technologize%2Ffluency-log4j-appender/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/technologize%2Ffluency-log4j-appender/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/technologize%2Ffluency-log4j-appender/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/technologize","download_url":"https://codeload.github.com/technologize/fluency-log4j-appender/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252776601,"owners_count":21802469,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["aws-s3","fluentd","java","log4j2"],"created_at":"2025-01-24T20:37:26.548Z","updated_at":"2025-05-06T22:15:30.720Z","avatar_url":"https://github.com/technologize.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# log4j2 appenders for Fluentd, Aws S3\n\n`Minimum Requirements`\n| Dependency      | Version       |\n| :-------------  | :----------:  |\n| Java            | 8             |\n| log4j           | 2.11          |\n\nAdd `io.github.technologize` to `packages` in log4j's `Configuration`\n\n## Sample log4j config\n\n### Fluentd\n\n`tag`: tag refers to tag of fluentd\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.github.technologize\u003c/groupId\u003e\n  \u003cartifactId\u003efluentd-log4j-appender\u003c/artifactId\u003e\n  \u003cversion\u003e1.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n```xml\n\u003cConfiguration strict=\"true\" packages=\"io.github.technologize\"\u003e\n  \u003cAppenders\u003e\n    \u003cFluentd name=\"fluentd\" tag=\"yourTag\" \u003e\n    \u003c!-- \n      all fields are optional, fields name will be sent to fulentd as a key in json\n      Field value/pattern can follow the Pattern as specified in PatternLayout  \n      Refer: https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout\n    --\u003e\n    \u003cField name=\"application\"\u003eyourApplication\u003c/Field\u003e\n    \u003cField name=\"someOtherField\"\u003eOtherfield %X{traceId}\u003c/Field\u003e\n    \u003cField name=\"lookupField\" pattern=\"%N\"/\u003e   \n    \u003c!-- \n      all settings are optional, see FluencyBuilderForFluentd; for default values\n      you can add as may fields as you like (or none at all)\n    --\u003e\n    \u003cFluentdConfig \n      maxBufferSize=\"536870912\"\n      bufferChunkInitialSize=\"1048576\"\n      bufferChunkRetentionSize=\"4194304\"\n      bufferChunkRetentionTimeMillis=\"1000\"\n      flushAttemptIntervalMillis=\"600\"\n      waitUntilBufferFlushed=\"10\"\n      waitUntilFlusherTerminated=\"10\"\n      senderMaxRetryCount=\"8\"\n      senderBaseRetryIntervalMillis=\"400\"\n      senderMaxRetryIntervalMillis=\"30000\"\n      connectionTimeoutMillis=\"5000\"\n      readTimeoutMillis=\"5000\"\n      ackResponseMode=\"true\"\n      sslEnabled=\"false\"\n      jvmHeapBufferMode=\"true\"\n      fileBackupDir=\"true\"\u003e\n      \u003c!-- \n      all Servers are optional, locahost:24224 will be used if none are specified\n      If multiple servers are specified,\n        message will be sent to only one of them dependeing on availability\n      --\u003e \n      \u003cServer host=\"localhost\" port=\"24224\" /\u003e\n      \u003cServer host=\"127.0.0.1\" port=\"24224\" /\u003e    \n    \u003c/FluentdConfig\u003e\n    \u003c/Fluentd\u003e\n  \u003c/Appenders\u003e\n\n  \u003cLoggers\u003e \n    \u003croot level=\"trace\"\u003e\n    \u003cappender-ref ref=\"fluentd\"/\u003e\n  \u003c/root\u003e\n  \u003c/Loggers\u003e\n\u003c/Configuration\u003e\n```\n\n### Aws S3\n\n`tag`: tag is the name of the Aws S3 bucket\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.github.technologize\u003c/groupId\u003e\n  \u003cartifactId\u003eaws-s3-log4j-appender\u003c/artifactId\u003e\n  \u003cversion\u003e1.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n```xml\n\u003cConfiguration strict=\"true\" packages=\"io.github.technologize\"\u003e\n  \u003cAppenders\u003e\n    \u003cAwsS3 name=\"AwsS3\" tag=\"your bucket\" \u003e\n      \u003c!--\n        all fields are optional, fields name will be sent to fulentd as a key in json\n        Field value/pattern can follow the Pattern as specified in PatternLayout\n        Refer: https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout\n      --\u003e\n      \u003cField name=\"application\"\u003eyourApplication\u003c/Field\u003e\n      \u003cField name=\"someOtherField\"\u003eOtherfield %X{traceId}\u003c/Field\u003e\n      \u003cField name=\"lookupField\" pattern=\"%d{dd MMM yyyy HH:mm:ss,SSS}\"/\u003e\n      \u003c!--\n        all settings are optional, see FluencyBuilderForAwsS3 for default values\n        you can add as may fields as you like (or none at all)\n\n        If None are specified aws default configuration provider chain will be used\n\n        formatTypes can be CSV, MESSAGE_PACK, JSONL(DEFAULT)\n        formatCsvColumnNames are comma seperated Logging info to be present in CSV if format is CSV\n        zoneOffsetId for valid values Refer \n          https://docs.oracle.com/javase/8/docs/api/java/time/ZoneOffset.html#of-java.lang.String-\n      --\u003e\n      \u003cAwsS3Config\n        formatType= \"JSONL\"\n        formatCsvColumnNames= \"someOtherField, message, level\"\n        awsEndpoint= \"your awsRegion\"\n        awsRegion= \"your awsRegion\"\n        awsAccessKeyId= \"your awsAccessKeyId\"\n        awsSecretAccessKey= \"your awsSecretAccessKey\"\n        retryMax= \"10\"\n        retryIntervalMillis= \"1000\"\n        maxRetryIntervalMillis= \"30000\"\n        retryFactor= \"2\"\n        senderWorkBufSize= \"8192\"\n        compressionEnabled= \"false\"\n        s3KeyPrefix= \"logs\"\n        s3KeySuffix= \".log.gz\"\n        zoneOffsetId= \"Z\"\n        maxBufferSize=\"536870912\"\n        bufferChunkInitialSize=\"1048576\"\n        bufferChunkRetentionSize=\"4194304\"\n        bufferChunkRetentionTimeMillis=\"1000\"\n        flushAttemptIntervalMillis=\"600\"\n        fileBackupDir=\"/dir\"\n        waitUntilBufferFlushed=\"10\"\n        waitUntilFlusherTerminated=\"10\"\n        jvmHeapBufferMode=\"true\"\u003e\n      \u003c/AwsS3Config\u003e\n    \u003c/AwsS3\u003e\n  \u003c/Appenders\u003e\n  \u003cLoggers\u003e\n    \u003cLogger name=\"io.github.technologize\" level=\"debug\"\u003e\n    \u003cAppenderRef ref=\"AwsS3\" /\u003e\n    \u003c/Logger\u003e\n  \u003c/Loggers\u003e\n\u003c/Configuration\u003e\n```\n\nBased on [fluency](https://github.com/komamitsu/fluency). Inspired from [log4j-plugin-fluency](https://github.com/wycore/log4j-plugin-fluency)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechnologize%2Ffluency-log4j-appender","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechnologize%2Ffluency-log4j-appender","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechnologize%2Ffluency-log4j-appender/lists"}