@@ -26,14 +26,14 @@ const LOG_OUTPUT_CHANNEL: vscode.OutputChannel = vscode.window.createOutputChann
26
26
/**
27
27
* Activate Logger functionality for the extension.
28
28
*/
29
- export async function activate ( ) : Promise < void > {
29
+ export async function activate ( extensionContext : vscode . ExtensionContext ) : Promise < void > {
30
30
const outputChannel = LOG_OUTPUT_CHANNEL
31
31
const logPath = LOG_PATH
32
32
const logLevel = getLogLevel ( )
33
33
34
34
await ensureLogFolderExists ( path . dirname ( logPath ) )
35
35
36
- setLogger ( makeLogger ( logLevel , logPath , outputChannel ) )
36
+ setLogger ( makeLogger ( logLevel , logPath , outputChannel , extensionContext . subscriptions ) )
37
37
38
38
await registerLoggerCommands ( )
39
39
@@ -42,11 +42,27 @@ export async function activate(): Promise<void> {
42
42
)
43
43
}
44
44
45
- export function makeLogger ( logLevel : LogLevel , logPath : string , outputChannel : vscode . OutputChannel ) : Logger {
45
+ export function makeLogger (
46
+ logLevel : LogLevel ,
47
+ logPath : string ,
48
+ outputChannel : vscode . OutputChannel ,
49
+ disposables ?: vscode . Disposable [ ]
50
+ ) : Logger {
46
51
const logger = new WinstonToolkitLogger ( logLevel )
47
52
logger . logToFile ( logPath )
48
53
logger . logToOutputChannel ( outputChannel )
49
54
55
+ vscode . workspace . onDidChangeConfiguration (
56
+ configurationChangeEvent => {
57
+ if ( configurationChangeEvent . affectsConfiguration ( 'aws.logLevel' ) ) {
58
+ const newLogLevel = vscode . workspace . getConfiguration ( 'aws' ) . get ( 'logLevel' , logLevel )
59
+ logger . setLogLevel ( newLogLevel )
60
+ }
61
+ } ,
62
+ undefined ,
63
+ disposables
64
+ )
65
+
50
66
return logger
51
67
}
52
68
0 commit comments