diff --git a/README.md b/README.md index 77ee8ea40..4d2abd23c 100644 --- a/README.md +++ b/README.md @@ -73,18 +73,28 @@ See [Logback filters](https://logback.qos.ch/manual/filters.html#thresholdFilter ```xml - + - INFO + INFO - application.log - - /path/to/credentials.json - com.example.enhancers.TestLoggingEnhancer - com.example.enhancers.AnotherEnhancer - WARN + + + application.log + + + WARNING + + + + + + /path/to/credentials/file + + + com.example.enhancers.TestLoggingEnhancer + com.example.enhancers.AnotherEnhancer - + diff --git a/src/main/java/com/google/cloud/logging/logback/LoggingAppender.java b/src/main/java/com/google/cloud/logging/logback/LoggingAppender.java index 1adcd4921..5a574a066 100644 --- a/src/main/java/com/google/cloud/logging/logback/LoggingAppender.java +++ b/src/main/java/com/google/cloud/logging/logback/LoggingAppender.java @@ -46,28 +46,35 @@ import java.util.Set; /** - * Logback appender for StackDriver Cloud Logging. + * Logback appender for Google Cloud Logging. * - *

Appender configuration in logback.xml: + *

Appender configuration in logback.xml: * - *

+ *
+ *    <appender name="CLOUD" class="com.google.cloud.logging.logback.LoggingAppender">
+ *         <!-- Optional: filter logs at and above this level -->
+ *         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ *             <level>INFO</level>
+ *         </filter>
+ *
+ *         <!-- Optional: defaults to "java.log" -->
+ *         <log>application.log</log>
+ *
+ *         <!-- Optional: defaults to "ERROR" -->
+ *         <flushLevel>WARNING</flushLevel>
+ *
+ *         <!-- Optional: auto detects on App Engine Flex, Standard, GCE and GKE, defaults to "global". See supported resource types -->
+ *         <resourceType></resourceType>
+ *
+ *         <!-- Optional: defaults to the default credentials of the environment -->
+ *         <credentialsFile>/path/to/credentials/file</credentialsFile>
+ *
+ *         <!-- Optional: add custom labels to log entries using {@link LoggingEnhancer} classes -->
+ *         <enhancer>com.example.enhancers.TestLoggingEnhancer</enhancer>
+ *         <enhancer>com.example.enhancers.AnotherEnhancer</enhancer>
+ *     </appender>
+ * 
*/ public class LoggingAppender extends UnsynchronizedAppenderBase { @@ -89,8 +96,8 @@ public class LoggingAppender extends UnsynchronizedAppenderBase { private String log; private String resourceType; private String credentialsFile; - private Set enhancerClassNames = new HashSet<>(); - private Set loggingEventEnhancerClassNames = new HashSet<>(); + private final Set enhancerClassNames = new HashSet<>(); + private final Set loggingEventEnhancerClassNames = new HashSet<>(); /** * Batched logging requests get immediately flushed for logs at or above this level.