//playwright-winston-proxy-logger.ts
import { Log } from 'crawlee'
import type { Logger } from 'winston'
type AdditionalData = Record<string, unknown> | null
export class WinstonLoggerProxy extends Log {
private logger: Logger
constructor(logger: Logger) {
super()
this.logger = logger
}
debug(message: string, data?: AdditionalData): void {
if (data) {
this.logger.debug(message, data)
} else {
this.logger.debug(message)
}
}
info(message: string, data?: AdditionalData): void {
if (data) {
this.logger.info(message, data)
} else {
this.logger.info(message)
}
}
warning(message: string, data?: AdditionalData): void {
if (data) {
this.logger.warn(message, data)
} else {
this.logger.warn(message)
}
}
error(message: string, data?: AdditionalData): void {
if (data) {
this.logger.error(message, data)
} else {
this.logger.error(message)
}
}
exception(exception: Error, message: string, data?: AdditionalData): void {
if (data) {
this.logger.error(message, { exception, ...data })
} else {
this.logger.error(message, { exception })
}
}
}
//playwright-winston-proxy-logger.ts
import { Log } from 'crawlee'
import type { Logger } from 'winston'
type AdditionalData = Record<string, unknown> | null
export class WinstonLoggerProxy extends Log {
private logger: Logger
constructor(logger: Logger) {
super()
this.logger = logger
}
debug(message: string, data?: AdditionalData): void {
if (data) {
this.logger.debug(message, data)
} else {
this.logger.debug(message)
}
}
info(message: string, data?: AdditionalData): void {
if (data) {
this.logger.info(message, data)
} else {
this.logger.info(message)
}
}
warning(message: string, data?: AdditionalData): void {
if (data) {
this.logger.warn(message, data)
} else {
this.logger.warn(message)
}
}
error(message: string, data?: AdditionalData): void {
if (data) {
this.logger.error(message, data)
} else {
this.logger.error(message)
}
}
exception(exception: Error, message: string, data?: AdditionalData): void {
if (data) {
this.logger.error(message, { exception, ...data })
} else {
this.logger.error(message, { exception })
}
}
}