@@ -163,19 +163,24 @@ public LoggingHandler(String log, LoggingOptions options, MonitoredResource moni
163163 * or {@link LogEntry} instances built by this handler.
164164 */
165165 public LoggingHandler (String log , LoggingOptions options , MonitoredResource monitoredResource , List <Enhancer > enhancers ) {
166- LogConfigHelper helper = new LogConfigHelper ();
167- String className = getClass ().getName ();
168- this .options = options != null ? options : LoggingOptions .getDefaultInstance ();
169- this .flushLevel = helper .getLevelProperty (className + ".flushLevel" , LoggingLevel .ERROR );
170- this .flushSize = helper .getLongProperty (className + ".flushSize" , 1L );
171- setLevel (helper .getLevelProperty (className + ".level" , Level .INFO ));
172- setFilter (helper .getFilterProperty (className + ".filter" , null ));
173- setFormatter (helper .getFormatterProperty (className + ".formatter" , new SimpleFormatter ()));
174- String logName = firstNonNull (log , helper .getProperty (className + ".log" , "java.log" ));
175- this .enhancers = enhancers != null ? enhancers : helper .getEnhancerProperty (className + ".enhancers" );
176- String resourceType = helper .getProperty (className + ".resourceType" , "global" );
177- MonitoredResource resource = monitoredResource != null ? monitoredResource : getDefaultResource (resourceType );
178- writeOptions = new WriteOption []{WriteOption .logName (logName ), WriteOption .resource (resource )};
166+ try {
167+ LogConfigHelper helper = new LogConfigHelper ();
168+ String className = getClass ().getName ();
169+ this .options = options != null ? options : LoggingOptions .getDefaultInstance ();
170+ this .flushLevel = helper .getLevelProperty (className + ".flushLevel" , LoggingLevel .ERROR );
171+ this .flushSize = helper .getLongProperty (className + ".flushSize" , 1L );
172+ setLevel (helper .getLevelProperty (className + ".level" , Level .INFO ));
173+ setFilter (helper .getFilterProperty (className + ".filter" , null ));
174+ setFormatter (helper .getFormatterProperty (className + ".formatter" , new SimpleFormatter ()));
175+ String logName = firstNonNull (log , helper .getProperty (className + ".log" , "java.log" ));
176+ this .enhancers = enhancers != null ? enhancers : helper .getEnhancerProperty (className + ".enhancers" );
177+ String resourceType = helper .getProperty (className + ".resourceType" , "global" );
178+ MonitoredResource resource = monitoredResource != null ? monitoredResource : getDefaultResource (resourceType );
179+ writeOptions = new WriteOption []{WriteOption .logName (logName ), WriteOption .resource (resource )};
180+ } catch (Exception ex ) {
181+ reportError (null , ex , ErrorManager .OPEN_FAILURE );
182+ throw ex ;
183+ }
179184 }
180185
181186 private static List <LoggingHandler > getLoggingHandlers (Logger logger ) {
@@ -354,23 +359,24 @@ private LogEntry entryFor(LogRecord record) {
354359 String payload ;
355360 try {
356361 payload = getFormatter ().format (record );
362+ Level level = record .getLevel ();
363+ LogEntry .Builder builder = LogEntry .newBuilder (Payload .StringPayload .of (payload ))
364+ .addLabel ("levelName" , level .getName ())
365+ .addLabel ("levelValue" , String .valueOf (level .intValue ()))
366+ .setTimestamp (record .getMillis ())
367+ .setSeverity (severityFor (level ));
368+
369+ for (Enhancer enhancer : enhancers ) {
370+ enhancer .enhanceLogEntry (builder , record );
371+ }
372+ enhanceLogEntry (builder , record );
373+ return builder .build ();
357374 } catch (Exception ex ) {
358- // Formatting can fail but we should not throw an exception, we report the error instead
375+ // Formatting or enhancing can fail but we should not throw an exception,
376+ // we report the error instead
359377 reportError (null , ex , ErrorManager .FORMAT_FAILURE );
360378 return null ;
361379 }
362- Level level = record .getLevel ();
363- LogEntry .Builder builder = LogEntry .newBuilder (Payload .StringPayload .of (payload ))
364- .addLabel ("levelName" , level .getName ())
365- .addLabel ("levelValue" , String .valueOf (level .intValue ()))
366- .setTimestamp (record .getMillis ())
367- .setSeverity (severityFor (level ));
368-
369- for (Enhancer enhancer : enhancers ) {
370- enhancer .enhanceLogEntry (builder , record );
371- }
372- enhanceLogEntry (builder , record );
373- return builder .build ();
374380 }
375381
376382 @ Deprecated
0 commit comments