tracer
tracer copied to clipboard
Example of how to use tracer with TypeScript
I see type definitions in the package, but when I try to import and use this way:
import { colorConsole } from 'tracer'
const logger = colorConsole({})
console.error('some error')
It says Property 'error' does not exist on type 'Logger<"error">.
Can you provide some simple example of how to properly import and use tracer with TypeScript?
Thanks!
It is missing the ts type definition, so we need to do it ourselves.
import * as tracer from 'tracer';
export const logger = tracer.dailyfile({
root: './logs',
maxLogFiles: 20,
transport: [
function (data) {
console.log(data.output)
}
]
}) as {
info: (...args: any[]) => void,
warn: (...args: any[]) => void,
debug: (...args: any[]) => void,
error: (...args: any[]) => void,
log: (...args: any[]) => void,
};
We have upgraded tracer to version 1.2.0, incorporating declarations for dynamically adding functions to objects. However, we are still facing an issue where ESLint perceives these functions as potentially being undefined. Using an exclamation mark after each function reference feels inelegant. If anyone has a solution to this problem, please submit a patch.
Hello! I just found out about the library and this issue as well. I would be glad to fill a PR, but I don't get what you mean by incorporating declarations for dynamically adding functions to objects. If you don't mind taking some time to show me an example of what you want to achieve, I could help implementing it