Skip to content

Commit 4f60da5

Browse files
committed
pull default log handler into its own method
1 parent 9989b27 commit 4f60da5

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

lib/src/generate/options.dart

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -53,27 +53,7 @@ class BuildOptions {
5353
/// Set up logging
5454
logLevel ??= Level.INFO;
5555
Logger.root.level = logLevel;
56-
onLog ??= (LogRecord record) {
57-
var color;
58-
if (record.level < Level.WARNING) {
59-
color = _cyan;
60-
} else if (record.level < Level.SEVERE) {
61-
color = _yellow;
62-
} else {
63-
color = _red;
64-
}
65-
var message = '${_isPosixTerminal ? '\x1b[2K\r' : ''}'
66-
'$color[${record.level}]$_endColor ${record.loggerName}: '
67-
'${record.message}${record.error != null ? "\n${record.error}" : ""}'
68-
'${record.stackTrace != null ? "\n${record.stackTrace}" : ""}'
69-
'${record.level > Level.INFO || !_isPosixTerminal ? '\n' : ''}';
70-
if (record.level >= Level.SEVERE) {
71-
stderr.write(message);
72-
} else {
73-
stdout.write(message);
74-
}
75-
};
76-
logListener = Logger.root.onRecord.listen(onLog);
56+
logListener = Logger.root.onRecord.listen(onLog ?? _defaultLogListener);
7757

7858
/// Set up other defaults.
7959
address ??= 'localhost';
@@ -101,3 +81,24 @@ final _red = _isPosixTerminal ? '\u001b[31m' : '';
10181
final _endColor = _isPosixTerminal ? '\u001b[0m' : '';
10282
final _isPosixTerminal =
10383
!Platform.isWindows && stdioType(stdout) == StdioType.TERMINAL;
84+
85+
void _defaultLogListener(LogRecord record) {
86+
var color;
87+
if (record.level < Level.WARNING) {
88+
color = _cyan;
89+
} else if (record.level < Level.SEVERE) {
90+
color = _yellow;
91+
} else {
92+
color = _red;
93+
}
94+
var message = '${_isPosixTerminal ? '\x1b[2K\r' : ''}'
95+
'$color[${record.level}]$_endColor ${record.loggerName}: '
96+
'${record.message}${record.error != null ? "\n${record.error}" : ""}'
97+
'${record.stackTrace != null ? "\n${record.stackTrace}" : ""}'
98+
'${record.level > Level.INFO || !_isPosixTerminal ? '\n' : ''}';
99+
if (record.level >= Level.SEVERE) {
100+
stderr.write(message);
101+
} else {
102+
stdout.write(message);
103+
}
104+
}

0 commit comments

Comments
 (0)