Bitryon Logger Docs
GitHub
Guides

Configuration

Logger Configuration YAML file

bitryon:
  logger:
    file-name: ./logs/${spring.application.name} # file name will be like  ./logs/bitryon-logging-java-spring-example.20250415-161023-565.0.log
    file-max-length: 536870912
    print-stdout: true # print to console
    print-file: true # write to file
    log-date-time-format: yyyy-MM-dd HH:mm:ss.SSS # UTC. the time on the head of the log. Leave blank will print System.currentTimeMillis
    log-async: true # false blocking IO; true NIO write files, it could lose part of logs if JVM crashes
    log-light: false # full step info, or light. true: MedicController.java#io.bitryon.web.controller.MedicController#query#123; no thread info, type JSON->J, false: #.MedicController#query#123 [the sanitizer-patterns may be slightly different].
    log-pretty: true # print pretty json and log, by new line and intends. close it in prd if needed.
    log-sanitizer-patterns: > # see more examples in API section
      /JSON/*Service*.java*.service.*UserService*#*/MTIzNDU2NzgxMjM0NTY3ODEyMzQ1Njc4/AES(driverLisenceId)/*/MASK$2(name)//SKIP(birthday),
      /JSON/*MedicService*#*/MTIzNDU2NzgxMjM0NTY3ODEyMzQ1Njc4/AES(driverLisenceId)/*/MASK$2(name)//SKIP(birthday),
      /JSON/*.java*.Medic*#*/*/MASK$4(deceases)/yyyy-MM-dd HH:mm:ss.ssss/DATE_FORMATER(timeCreated),
      /HTTP/*LoggingHttpRequestWebReader#readHttpRequest*/MTIzNDU2NzgxMjM0NTY3ODEyMzQ1Njc4/AES(driverLisenceId)/*/MASK$2(name)//SKIP(birthday) 

  app-node: # to categorize logs to the application and unique host
    http-header-id-type: 1 # write log/trace id to the http response header; 0 default no write header, 1 trace id, 2 step log id
    application-name: ${spring.application.name}
    host-id: node-123.test.test # unique, with file to identify unique file

  github: # optional. Click on the stack, jump to the source code page. No need access because it's just a link.
    host: https://github.com/
    source-paths: > 
      src/main/java
    repository: RepoOwner/${spring.application.name} # project on github
    branch: master
    commit: xxxxxxx

  boot-info: # for your info purpose, bitryon don't use it. you can dynamically change and reprint to logs.
    version: 1.2.3 # the version of the app.
    internal-ip: 12.2.2.2
    external-ip: 12.2.2.2
    program: 1.2.2-1231321.jar
    region: use-1
    platform: 
      cloud: aws

Logger Configuration property file

See YAML explanation above, just pure transformation of Java property file

logger.file-name=./logs/bitryon-logging-java-example
logger.file-max-length=536870912
logger.print-stdout=true
logger.print-file=true
logger.log-date-time-format=yyyy-MM-dd HH:mm:ss.SSS
logger.log-async=true
logger.log-light=false
logger.log-pretty=true
logger.log-sanitizer-patterns=/JSON/*Service*.java*.service.*UserService*#*/*/MASK(driverLisenceId)/*/MASK$2(name)//SKIP(birthday),/JSON/*MedicService*#*/*/MASK(driverLisenceId)/*/MASK$2(name)//SKIP(birthday),/JSON/*.java*.Medic*#*/*/MASK$4(deceases)/yyyy-MM-dd HH:mm:ss.ssss/DATE_FORMATER(timeCreated),/HTTP/*LoggingHttpRequestWebReader#readHttpRequest*/*/MASK(driverLisenceId)/*/MASK$2(name)//SKIP(birthday) 

app-node.http-header-id-type=1
app-node.application-name=bitryon-logging-java-example
app-node.host-id=node-123.test.test

github.host=https://github.com/
github.repository=RepoOwner/bitryon-logging-java-example
github.source-paths=src/main/java
github.branch=master
github.commit=xxxxxxx

boot-info=version=1.2.3;internal-ip=12.2.2.2;external-ip=12.2.2.2;program=1.2.2-1231321.jar;region=use-1;platform=cloud=aws;

Agent Configuration file

the Agent is used to upload logs to see stack views.
create and action application to get the app-key the portal

bitryon:
  logging:
    agent:
      server-url: wss://dev-logging-ingest-server.bitryon.io/
      app-key: 4PvMqsqRQHPKZDwfO9NJepTUHHCzth8cdZ7CBAzL8n0Y58jA # create and action application to get the app-key
      host-id: please-change-to-your-unique-host-id
      watch-dirs: ./logs
      retry-cycle-timeout: 3600000
      file-idle-timeout: 60000
      file-concurrency: 10

Terraform - coming soon

Sign in portal to create and active applications and accounts manually for now. 
We're working very-very-very hard to support terraform ASAP.
💡 What's Next?Workflow-like Stack view!