A log4j appender that sends log messages to Scribe.
There are 3 maven projects:
scribe-client
- autogenerated java client for scribescribe-log4j
- appender for log4jscribe-example
- example of use
-
Clone repository
git clone https://github.com/caiiiycuk/scribe-log4j.git
-
Install scribe-client to local maven repository
cd scribe-log4j/scribe-client mvn install
-
Run your scribe server that agregates logs (see short instruction below)
-
If needed fix log4j.properties in
scribe-log4j/scribe-example/src/main/resources/log4j.properties
. Default configuration is:log4j.rootLogger=DEBUG, console, scribe log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n log4j.appender.scribe=name.caiiiycuk.scribe.ScribeAppender log4j.appender.scribe.hostname=my-app.ru log4j.appender.scribe.scribeHost=127.0.0.1 log4j.appender.scribe.scribePort=1463 log4j.appender.scribe.scribeCategory=my-app log4j.appender.scribe.printExceptionStack=true log4j.appender.scribe.addStackTraceToMessage=true log4j.appender.scribe.timeToWaitBeforeRetry=6000 log4j.appender.scribe.sizeOfInMemoryStoreForward=100 log4j.appender.scribe.layout=org.apache.log4j.PatternLayout log4j.appender.scribe.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n
-
You can see logs of the application on your scribe server after application running.
cd scribe-log4j/scribe-example mvn package cd target java -jar scribe-example-1.0-jar-with-dependencies.jar
Simply change the appender class:
log4j.appender.scribe=name.caiiiycuk.scribe.AsyncScribeAppender
Property | Descriprion |
---|---|
log4j.appender.scribe | Appender that sends logs to server: name.caiiiycuk.scribe.ScribeAppender or name.caiiiycuk.scribe.AsyncScribeAppender |
log4j.appender.scribe.hostname | This hostname will be appended to the each log line |
log4j.appender.scribe.scribeHost | Sribe server host |
log4j.appender.scribe.scribePort | Scribe server port |
log4j.appender.scribe.scribeCategory | Category of this application used by scribe to categorize |
log4j.appender.scribe.printExceptionStack | If this propery is set to true then exceptions will be print to stdout |
log4j.appender.scribe.addStackTraceToMessage | Appends the stack trace to the message |
log4j.appender.scribe.timeToWaitBeforeRetry | The "timeToWaitBeforeRetry" property is used to determine how long appender will wait after connection failure to try to restore connection. |
log4j.appender.scribe.localStoreForwardClassName | Classname of local store forward provider |
log4j.appender.scribe.sizeOfInMemoryStoreForward | If the "sizeOfInMemoryStoreForward" property is present, then it will use a default in memroy implementation of local storage forward provider. You can provide own implementation by implementing same interface and giving the following config <param name="localStoreForwardClassName" value="my.domain.scribe.ILocalStoreForwardImpl"></param> |