anchor.diff:            _makeLabel('module_id', serviceId),
             _makeLabel('zone', zoneId),
           ],
  -        logName =
  -            'projects/$projectId/logs/appengine.googleapis.com%2Frequest_log';
  +        requestLogName =
  +            'projects/$projectId/logs/appengine.googleapis.com%2Frequest_log',
  +        backgroundLogName =
  +            'projects/$projectId/logs/appengine.googleapis.com%2Fstderr';
   
     static _makeLabel(String key, String value) {
       return new api.MonitoredResource_LabelsEntry()
  
positive.code:     ..seconds = new api.Int64(ms ~/ 1000)
      ..nanos = 1000 * 1000 * (ms % 1000);
  }
  
negative.code:   }
  }
  
  /// A [appengine.Logging] adapter which sends log entries off via the
  /// [SharedLoggingService].
  class GrpcBackgroundLoggingImpl extends appengine.Logging {
    final SharedLoggingService _sharedLoggingService;
  
    GrpcBackgroundLoggingImpl(this._sharedLoggingService);
  
    void log(appengine.LogLevel level, String message, {DateTime timestamp}) {
      api.LogSeverity severity = _severityFromLogLevel(level);
  
      final int now = new DateTime.now().toUtc().millisecondsSinceEpoch;
      final api.Timestamp nowTimestamp = _protobufTimestampFromMilliseconds(now);
  
      final gaeResource = new api.MonitoredResource()
        ..type = 'gae_app'
        ..labels.addAll(_sharedLoggingService.resourceLabels);
  
      final logEntry = new api.LogEntry()
        ..textPayload = message
        ..resource = gaeResource
        ..timestamp = nowTimestamp
        ..severity = severity
        ..logName = _sharedLoggingService.backgroundLogName;
  
      _sharedLoggingService.enqueue(logEntry);
    }
  
    Future flush() => new Future.value();
  }
  
  /// A [appengine.Logging] adapter which uses the gRPC logging API to send
  /// logs asynchronously to the Stackdriver logging service.
  class SharedLoggingService {
  