Change logger to print in console
This commit is contained in:
@@ -1,7 +1,58 @@
|
||||
// ignore_for_file: avoid_print
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:loggy/loggy.dart';
|
||||
|
||||
class ConsolePrinter extends LoggyPrinter {
|
||||
const ConsolePrinter({
|
||||
this.showColors = false,
|
||||
});
|
||||
|
||||
final bool showColors;
|
||||
|
||||
static final _levelColors = {
|
||||
LogLevel.debug:
|
||||
AnsiColor(foregroundColor: AnsiColor.grey(0.5), italic: true),
|
||||
LogLevel.info: AnsiColor(foregroundColor: 35),
|
||||
LogLevel.warning: AnsiColor(foregroundColor: 214),
|
||||
LogLevel.error: AnsiColor(foregroundColor: 196),
|
||||
};
|
||||
|
||||
@override
|
||||
void onLog(LogRecord record) {
|
||||
final colorize = showColors && stdout.supportsAnsiEscapes;
|
||||
final time = record.time.toIso8601String().split('T')[1];
|
||||
final callerFrame = record.callerFrame == null
|
||||
? ' '
|
||||
: ' (${record.callerFrame?.location}) ';
|
||||
|
||||
final String logLevel;
|
||||
if (colorize) {
|
||||
logLevel = record.level.name.toUpperCase().padRight(8);
|
||||
} else {
|
||||
logLevel = "[${record.level.name.toUpperCase()}]".padRight(10);
|
||||
}
|
||||
|
||||
final color =
|
||||
showColors ? levelColor(record.level) ?? AnsiColor() : AnsiColor();
|
||||
|
||||
print(
|
||||
color(
|
||||
'$time $logLevel [${record.loggerName}]$callerFrame${record.message}',
|
||||
),
|
||||
);
|
||||
|
||||
if (record.stackTrace != null) {
|
||||
print(record.stackTrace);
|
||||
}
|
||||
}
|
||||
|
||||
AnsiColor? levelColor(LogLevel level) {
|
||||
return _levelColors[level];
|
||||
}
|
||||
}
|
||||
|
||||
class FileLogPrinter extends LoggyPrinter {
|
||||
FileLogPrinter(
|
||||
String filePath, {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter_loggy/flutter_loggy.dart';
|
||||
import 'package:hiddify/core/logger/custom_logger.dart';
|
||||
import 'package:hiddify/utils/custom_loggers.dart';
|
||||
import 'package:loggy/loggy.dart';
|
||||
@@ -18,9 +17,13 @@ class LoggerController extends LoggyPrinter with InfraLogger {
|
||||
|
||||
static late LoggerController _instance;
|
||||
|
||||
static void preInit() {
|
||||
Loggy.initLoggy(logPrinter: const ConsolePrinter());
|
||||
}
|
||||
|
||||
static void init(String appLogPath) {
|
||||
_instance = LoggerController(
|
||||
const PrettyDeveloperPrinter(),
|
||||
const ConsolePrinter(),
|
||||
{"app": FileLogPrinter(appLogPath)},
|
||||
);
|
||||
Loggy.initLoggy(logPrinter: _instance);
|
||||
|
||||
Reference in New Issue
Block a user