LCOV - code coverage report
Current view: top level - src/models - writable_log_record.dart (source / functions) Coverage Total Hit
Test: filtered_lcov.info Lines: 100.0 % 17 17
Test Date: 2024-09-16 09:22:39 Functions: - 0 0

            Line data    Source code
       1              : import 'package:logging/logging.dart';
       2              : import 'package:the_logger/src/models/models.dart';
       3              : 
       4              : /// Db-related extension for Level
       5              : extension WritableLevel on Level {
       6              :   /// Return Level by value
       7            1 :   static Level fromValue(int value) {
       8            4 :     return Level.LEVELS.firstWhere((element) => element.value == value);
       9              :   }
      10              : }
      11              : 
      12              : /// Db-related extension for LogRecord
      13              : extension WritableLogRecord on MaskedLogRecord {
      14              :   static const _keySessionId = 'session_id';
      15              :   static const _keyLevel = 'level';
      16              :   static const _keyMessage = 'message';
      17              :   static const _keyLoggerName = 'logger_name';
      18              :   static const _keyError = 'error';
      19              :   static const _keyStackTrace = 'stack_trace';
      20              :   static const _keyTime = 'time';
      21              : 
      22              :   /// Prepare structure for writing to db
      23            3 :   Map<String, dynamic> toMap({
      24              :     required int sessionId,
      25              :     required bool mask,
      26              :   }) {
      27            3 :     return {
      28              :       _keySessionId: sessionId,
      29            6 :       _keyLevel: level.value,
      30            5 :       _keyMessage: mask ? maskedMessage : message,
      31            3 :       _keyLoggerName: loggerName,
      32            6 :       _keyError: mask ? maskedError : error?.toString(),
      33            7 :       _keyStackTrace: mask ? maskedStackTrace : stackTrace.toString(),
      34            6 :       _keyTime: time.microsecondsSinceEpoch,
      35              :     };
      36              :   }
      37              : 
      38              :   /// Create LogRecord from db record
      39            1 :   static MaskedLogRecord fromMap(
      40              :     Map<String, dynamic> map, {
      41              :     MaskingStrings maskingStrings = const {},
      42              :   }) {
      43            1 :     return MaskedLogRecord.fromLogRecordFields(
      44            2 :       WritableLevel.fromValue(map[_keyLevel] as int),
      45            1 :       map[_keyMessage] as String,
      46            1 :       map[_keyLoggerName] as String,
      47            1 :       map[_keyError] as String,
      48            2 :       StackTrace.fromString(map[_keyStackTrace] as String),
      49              :       null,
      50              :       null,
      51              :       maskingStrings: maskingStrings,
      52              :     );
      53              :   }
      54              : }
        

Generated by: LCOV version 2.1-1