Skip to content

Commit 4766d03

Browse files
committed
feat: logger transport config
1 parent 9c14571 commit 4766d03

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

electron/common/logger/logger.ts

+2-5
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import type {
77
LogLevel,
88
LogMessage,
99
LogTransport,
10+
LoggerTransportConfig,
1011
} from './types.js';
1112

1213
const DEFAULT_SCOPE = 'default';
@@ -37,11 +38,7 @@ export class LoggerImpl extends AbstractLogger {
3738

3839
constructor(options: {
3940
scope?: string;
40-
transports?: Array<{
41-
transport: LogTransport;
42-
formatter: LogFormatter;
43-
level?: LogLevel;
44-
}>;
41+
transports?: Array<LoggerTransportConfig>;
4542
}) {
4643
super();
4744

electron/common/logger/types.ts

+21
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,27 @@ export type LogFormatter = (messages: Array<LogMessage>) => string;
3131
*/
3232
export type LogTransport = Writable;
3333

34+
export interface LoggerTransportConfig {
35+
/**
36+
* Where to write log messages.
37+
* Could be to the console, a file, or a remote system.
38+
*/
39+
transport: LogTransport;
40+
/**
41+
* Transforms log data objects into a string to write to the transport.
42+
*/
43+
formatter: LogFormatter;
44+
/**
45+
* By default, all messages are logged to every transport for levels
46+
* that satisify the runtime log level. You can further restrict which
47+
* levels are logged to a specific transport by setting this property.
48+
*
49+
* For example, if the runtime log level is 'INFO' but you only want to send
50+
* errors to this transport, then set the transport's level to 'ERROR'.
51+
*/
52+
level?: LogLevel;
53+
}
54+
3455
/**
3556
* Shape of a logger function that always logs to a specific level.
3657
*/

0 commit comments

Comments
 (0)