@@ -41,6 +41,9 @@ import type { PeerId, Logger, ComponentLogger } from '@libp2p/interface'
4141import type { Multiaddr } from '@multiformats/multiaddr'
4242import type { Key } from 'interface-datastore'
4343import type { CID } from 'multiformats/cid'
44+ import type { Options as LoggerOptions } from 'weald'
45+
46+ export type { LoggerOptions }
4447
4548// Add a formatter for converting to a base58 string
4649debug . formatters . b = ( v ?: Uint8Array ) : string => {
@@ -123,9 +126,9 @@ function createDisabledLogger (namespace: string): debug.Debugger {
123126 return logger
124127}
125128
126- export interface PeerLoggerOptions {
127- prefixLength : number
128- suffixLength : number
129+ export interface PeerLoggerOptions extends LoggerOptions {
130+ prefixLength ? : number
131+ suffixLength ? : number
129132}
130133
131134/**
@@ -146,8 +149,8 @@ export interface PeerLoggerOptions {
146149 * // logs "12…oBar:my-component hello world"
147150 * ```
148151 */
149- export function peerLogger ( peerId : PeerId , options : Partial < PeerLoggerOptions > = { } ) : ComponentLogger {
150- return prefixLogger ( truncatePeerId ( peerId , options ) )
152+ export function peerLogger ( peerId : PeerId , options : PeerLoggerOptions = { } ) : ComponentLogger {
153+ return prefixLogger ( truncatePeerId ( peerId , options ) , options )
151154}
152155
153156/**
@@ -166,10 +169,10 @@ export function peerLogger (peerId: PeerId, options: Partial<PeerLoggerOptions>
166169 * // logs "my-node:my-component hello world"
167170 * ```
168171 */
169- export function prefixLogger ( prefix : string ) : ComponentLogger {
172+ export function prefixLogger ( prefix : string , options ?: LoggerOptions ) : ComponentLogger {
170173 return {
171174 forComponent ( name : string ) {
172- return logger ( `${ prefix } :${ name } ` )
175+ return logger ( `${ prefix } :${ name } ` , options )
173176 }
174177 }
175178}
@@ -190,10 +193,10 @@ export function prefixLogger (prefix: string): ComponentLogger {
190193 * // logs "my-component hello world"
191194 * ```
192195 */
193- export function defaultLogger ( ) : ComponentLogger {
196+ export function defaultLogger ( options ?: LoggerOptions ) : ComponentLogger {
194197 return {
195198 forComponent ( name : string ) {
196- return logger ( name )
199+ return logger ( name , options )
197200 }
198201 }
199202}
@@ -211,19 +214,19 @@ export function defaultLogger (): ComponentLogger {
211214 * // logs "my-component hello world"
212215 * ```
213216 */
214- export function logger ( name : string ) : Logger {
217+ export function logger ( name : string , options ?: LoggerOptions ) : Logger {
215218 // trace logging is a no-op by default
216219 let trace : debug . Debugger = createDisabledLogger ( `${ name } :trace` )
217220
218221 // look at all the debug names and see if trace logging has explicitly been enabled
219222 if ( debug . enabled ( `${ name } :trace` ) && debug . names . map ( ( r : any ) => r . toString ( ) ) . find ( ( n : string ) => n . includes ( ':trace' ) ) != null ) {
220- trace = debug ( `${ name } :trace` )
223+ trace = debug ( `${ name } :trace` , options )
221224 }
222225
223- return Object . assign ( debug ( name ) , {
224- error : debug ( `${ name } :error` ) ,
226+ return Object . assign ( debug ( name , options ) , {
227+ error : debug ( `${ name } :error` , options ) ,
225228 trace,
226- newScope : ( scope : string ) => logger ( `${ name } :${ scope } ` )
229+ newScope : ( scope : string ) => logger ( `${ name } :${ scope } ` , options )
227230 } )
228231}
229232
0 commit comments