我想更改dock logger,以便我可以使用自己的
我使用给定的here示例来注册自己的logger
import { defaultContainer, dockStart } from '@nlpjs/basic';
import { MyCustomLoggerClass } from './some-file';
defaultContainer.register('logger', new MyCustomLoggerClass());
const dock = await dockStart(this.options.dock);
const manager = dock.get('nlp');
manager.addCorpus(corpusFilePath);
await manager.train();
export class MyCustomLoggerClass {
public constructor() {}
public trace(...messages: string[]): void {
console.trace('[TRACE]', ...messages);
}
public debug(...messages: string[]): void {
console.debug('[DEBUG]', ...messages);
}
public info(...messages: string[]): void {
console.info('[INFO]', ...messages);
}
public log(...messages: string[]): void {
console.log('[LOG]', ...messages);
}
public warn(...messages: string[]): void {
console.warn('[WARN]', ...messages);
}
public error(...messages: string[]): void {
console.error('[ERROR]', ...messages);
}
public fatal(...messages: string[]): void {
console.error('[FATAL]', ...messages);
}
}
但是日志仍然没有改变
2条答案
按热度按时间qxsslcnc1#
我重新打开这个问题,因为我仍然没有找到解决方案...即使使用了在容器中添加自定义日志记录器的例子,我的日志记录器示例仍然无法激活。即使复制了这个例子,自定义日志记录器也没有起作用。
我以这种方式修改了我的代码:
xesrikrc2#
你好,
你正确地更改了日志记录器。
问题在于神经训练器不使用容器中的日志记录器。
当创建神经训练器时,它接受一个设置 "log",可以为 true 以使用默认的控制台,false 表示不记录或使用函数进行记录。
https://github.com/axa-group/nlp.js/blob/master/packages/neural/src/neural-network.js#L40
你可以更改记录神经训练器的函数: