https://github.com/janlionly/flutter_dev_colorized_log
  
  
    A Flutter package for logging colorized text in developer mode. 
    https://github.com/janlionly/flutter_dev_colorized_log
  
color-log color-logger color-logging dart-debug dart-log flutter-debug flutter-logg
        Last synced: 2 months ago 
        JSON representation
    
A Flutter package for logging colorized text in developer mode.
- Host: GitHub
 - URL: https://github.com/janlionly/flutter_dev_colorized_log
 - Owner: janlionly
 - License: mit
 - Created: 2023-11-02T12:01:52.000Z (about 2 years ago)
 - Default Branch: master
 - Last Pushed: 2025-06-25T17:40:56.000Z (4 months ago)
 - Last Synced: 2025-06-25T18:32:14.755Z (4 months ago)
 - Topics: color-log, color-logger, color-logging, dart-debug, dart-log, flutter-debug, flutter-logg
 - Language: Dart
 - Homepage:
 - Size: 323 KB
 - Stars: 1
 - Watchers: 1
 - Forks: 0
 - Open Issues: 0
 - 
            Metadata Files:
            
- Readme: README.md
 - Changelog: CHANGELOG.md
 - License: LICENSE
 
 
Awesome Lists containing this project
README
          # Dev Colorized Log
[](https://github.com/janlionly/flutter_dev_colorized_log)
A Flutter package for logging colorized text in developer mode.
## Usage
See examples to `/example` folder, more please run example project.
```dart
/* Global settings:*/
Dev.enable = true; // whether log msg
Dev.isLogFileLocation = true; // whether log the location file info
Dev.defaultColorInt = 0; // default color text, int value from 0 to 107
Dev.isDebugPrint = true; // Dev.print whether only log on debug mode
/// V 2.0.4 newline replacement for better search visibility in console
Dev.isReplaceNewline = true; // whether replace newline characters (default false)
Dev.newlineReplacement = ' | '; // replacement string for newlines (default ' | ')
/// V 2.0.3
Dev.prefixName = 'MyApp'; // prefix name
/// V 2.0.2
Dev.isExeDiffColor = false; // whether execFinalFunc with different color
/// V 2.0.0 the lowest level threshold to execute the function of customFinalFunc
Dev.exeLevel = DevLevel.logWar;
Dev.customFinalFunc = (msg, level) {
  // e.g.: your custom write msg to file
  writeToFile(msg, level);
};
/// V 1.2.8 colorize multi lines
Dev.log('===================== Colorize multi lines log =====================');
const multiLines = '''
      🔴 [ERROR] UniqueID: 1
      🕒 Timestamp: 2
      📛 ErrorType: 3
      💥 ErrorMessage: 4
      📚 StackTrace: 5
    ''';
const multiLines2 = 'Error1\nError2\nError3';
Dev.logError(multiLines);
Dev.logError(multiLines2);
/// V 1.2.8 special error format log
Dev.print(e, error: e, level: DevLevel.logErr);
Dev.logError('$e', error: e);
Dev.exeError('$e', error: e, colorInt: 91);
// V1.2.6 whether log on multi platform consoles like Xcode, VS Code, Terminal, etc.
Dev.isMultConsoleLog = true;
// V1.2.2
Dev.isLogShowDateTime = true; // whether log the date time
Dev.isExeWithShowLog = true; // whether execFinalFunc with showing log
Dev.isExeWithDateTime = false; // whether execFinalFunc with date time
// V1.2.1
Dev.exe("Exec Normal");
Dev.exeInfo("Exec Info");
Dev.exeSuccess("Exec Success");
Dev.exeWarning("Exec Warning");
Dev.exeError("Exec Error");
Dev.exeBlink("Exec Blink");
Dev.exe("Exec Normal without log", isLog: false);
Dev.log('1.log success level', level: DevLevel.logSuc);
Dev.logSuccess('2.log success level');
Dev.log('1.log success level and exec', level: DevLevel.logSuc, execFinalFunc: true);
Dev.exe('2.log success level and exec', level: DevLevel.logSuc);
Dev.exeSuccess('3.log success level and exec');
// END
// V1.2.0 Execute the custom function
Dev.exe('!!! Exec Normal');
Dev.exe('!!! Exec Colorized text Info Without log', level: DevLevel.logInf, isMultConsole: true, isLog: false, colorInt: 101);
Dev.print('Colorized text print with the given level', level: DevLevel.logWar);
// END
// then every level log func contains execFinalFunc param:
Dev.log('Colorized text log to your process of log', execFinalFunc: true);
// V1.1.6 custom function to support your process of log
// Deprecated: Use exeFinalFunc instead (customFinalFunc will be removed in future versions)
// Dev.customFinalFunc = (msg, level) {
//   writeToFile(msg, level);  
// };
## Migration Guide
### From customFinalFunc to exeFinalFunc (v2.0.6+)
The `customFinalFunc` has been renamed to `exeFinalFunc` for better naming consistency. The old name is deprecated but still works for backward compatibility.
**Old way (deprecated):**
```dart
Dev.customFinalFunc = (msg, level) {
  writeToFile(msg, level);
};
```
**New way (recommended):**
```dart
Dev.exeFinalFunc = (msg, level) {
  writeToFile(msg, level);
};
```
**Priority:** If both `exeFinalFunc` and `customFinalFunc` are set, `exeFinalFunc` takes priority.
**Infinite Recursion Prevention:** The library automatically prevents infinite recursion when `exeFinalFunc` or `customFinalFunc` calls Dev logging methods (like `Dev.exeError`, `Dev.exe`, etc.) internally.
```dart
// Safe: This won't cause infinite recursion
Dev.exeFinalFunc = (msg, level) {
  writeToFile(msg, level);
  Dev.exeError('Also log this error'); // Won't trigger exeFinalFunc again
};
```
/* Log usage: */
Dev.log('Colorized text log'); // default yellow text
Dev.logInfo('Colorized text Info'); // blue text
Dev.logSuccess('Colorized text Success', execFinalFunc: true); // green text
Dev.logWarning('Colorized text Warning'); // yellow text
Dev.logError('Colorized text Error'); // red text
Dev.logBlink('Colorized text blink', isSlow: true, isLog: true); // blink orange text
// Support to log on multi platform consoles like Xcode and VS Code
Dev.print('Dev text print', isDebug: true); // default log only on debug mode
// Others:
Dev.log('Colorized text log other customs', fileLocation: 'main.dart:90xx', colorInt: 96);
// Example: Multi-line log for better search visibility
const errorDetails = '''Error occurred:
- File: user.dart:123
- Function: validateEmail()
- Reason: Invalid format''';
// With replacement enabled (default):
Dev.logError(errorDetails); 
// Output: Error occurred: | - File: user.dart:123 | - Function: validateEmail() | - Reason: Invalid format
// Example with messy whitespace:
const messyLog = '''  Error:  
	Multiple    spaces   and	tabs
   End with spaces  ''';
// With replacement enabled - cleans up extra whitespace:
Dev.logError(messyLog);
// Output: Error: | Multiple spaces and tabs | End with spaces
// Without replacement:
Dev.isReplaceNewline = false;
Dev.logError(errorDetails);
// Output: Error occurred:
//         - File: user.dart:123
//         - Function: validateEmail()
//         - Reason: Invalid format
```
## Author
Visit my github: [janlionly](https://github.com/janlionly)
Contact with me by email: janlionly@gmail.com
## Contribute
I would love you to contribute to **DevColorizedLog**
## License
**DevColorizedLog** is available under the MIT license. See the [LICENSE](https://github.com/janlionly/flutter_dev_colorized_log/blob/master/LICENSE) file for more info.