@@ -11,6 +11,7 @@ import { DriverContract } from './Contracts/DriverContract'
1111import { FormatterContract } from './Contracts/FormatterContract'
1212
1313export class Logger {
14+ private readonly _options ?: any = { }
1415 private _tempDrivers : DriverContract [ ] | null = null
1516 private _defaultDriver : DriverContract | null = null
1617
@@ -38,11 +39,16 @@ export class Logger {
3839 return Object . keys ( Formatters )
3940 }
4041
41- constructor ( ) {
42+ constructor ( options ?: any ) {
43+ this . _options = options
4244 const defaultChannel = Config . get ( 'logging.default' )
4345 const channelConfig = Config . get ( `logging.channels.${ defaultChannel } ` )
46+ const driver =
47+ this . _options && this . _options . driver
48+ ? this . _options . driver
49+ : channelConfig . driver
4450
45- this . _defaultDriver = new Drivers [ channelConfig . driver ] ( defaultChannel )
51+ this . _defaultDriver = new Drivers [ driver ] ( defaultChannel )
4652 }
4753
4854 private _driver ( message : any , options ?: any ) {
@@ -137,6 +143,10 @@ export class Logger {
137143 options . level = 'INFO'
138144 options . color = Color . cyan
139145 options . streamType = 'stdout'
146+ options = {
147+ ...options ,
148+ ...this . _options ,
149+ }
140150
141151 this . _driver ( message , options )
142152
@@ -149,6 +159,10 @@ export class Logger {
149159 options . level = 'WARN'
150160 options . color = Color . orange
151161 options . streamType = 'stdout'
162+ options = {
163+ ...options ,
164+ ...this . _options ,
165+ }
152166
153167 this . _driver ( message , options )
154168
@@ -161,6 +175,10 @@ export class Logger {
161175 options . level = 'ERROR'
162176 options . color = Color . red
163177 options . streamType = 'stderr'
178+ options = {
179+ ...options ,
180+ ...this . _options ,
181+ }
164182
165183 this . _driver ( message , options )
166184
@@ -173,6 +191,10 @@ export class Logger {
173191 options . level = 'DEBUG'
174192 options . color = Color . purple
175193 options . streamType = 'stdout'
194+ options = {
195+ ...options ,
196+ ...this . _options ,
197+ }
176198
177199 this . _driver ( message , options )
178200
@@ -185,6 +207,10 @@ export class Logger {
185207 options . level = 'SUCCESS'
186208 options . color = Color . green
187209 options . streamType = 'stdout'
210+ options = {
211+ ...options ,
212+ ...this . _options ,
213+ }
188214
189215 this . _driver ( message , options )
190216
0 commit comments