DataDog/dd-sdk-flutter

Logs don't print to console with default `DatadogLoggerConfiguration`

nwarriner opened this issue · 2 comments

Describe the bug

Logs do not print to console when customConsoleLogFunction is not specified.

Reproduction steps

WidgetsFlutterBinding.ensureInitialized();
final dataDogConfig = DatadogConfiguration(
  clientToken: 'CLIENT_TOKEN',
  env: dotenv.env["ENV"] ?? 'dev',
  site: DatadogSite.us1,
  nativeCrashReportEnabled: true,
  loggingConfiguration: DatadogLoggingConfiguration(),
  rumConfiguration: DatadogRumConfiguration(
    applicationId: 'APPLICATION_ID',
  ),
);
final originalOnError = FlutterError.onError;
FlutterError.onError = (details) {
  DatadogSdk.instance.rum?.handleFlutterError(details);
  originalOnError?.call(details);
};
final platformOriginalOnError = PlatformDispatcher.instance.onError;
PlatformDispatcher.instance.onError = (e, st) {
  DatadogSdk.instance.rum?.addErrorInfo(
    e.toString(),
    RumErrorSource.source,
    stackTrace: st,
  );
  return platformOriginalOnError?.call(e, st) ?? false;
};
await DatadogSdk.instance.initialize(dataDogConfig, TrackingConsent.granted);
final loggerConfiguration = DatadogLoggerConfiguration();
logger = DatadogSdk.instance.logs?.createLogger(loggerConfiguration);
logger?.debug("A debug message");
logger?.info("Some relevant info");
logger?.warn("An important warning…");
logger?.error("An error was met!");

However, if you set customConsoleLogFunction logs do appear.

  final loggerConfiguration = DatadogLoggerConfiguration(
    customConsoleLogFunction: simpleConsolePrintForLevel(LogLevel.debug),
  );

SDK logs

There aren't any console logs which is the problem.

Expected behavior

Console logs are expected to appear

Affected SDK versions

2.3.0

Latest working SDK version

No response

Did you confirm if the latest SDK version fixes the bug?

Yes

Flutter Version

3.19.3

Setup Type

Flutter Application

Device Information

iOS and Web

Other relevant information

No response

Hi @nwarriner,

Correct here as well. We accidentally overwrite the default with null if no print function is provided during configuration.

I'll try to get this fix ASAP.

This will be fixed with the next release