tachybase_todo/packages/core/logger/src/app-logger.ts
YANG QIA 8633ec3735
refactor(logger): improve logger format (#2664)
* refactor(logger): improve logger format

* chore: improve log format

* feat(logger): plugin-logger

* feat: allow to download log files, close T-1917

* chore: update yarn.lock

* chore: improve log format

* fix: add maxsize params

* chore: add userId field to request

* chore: remove userId from request

* chore: change userId in response

* chore: change action in response

* chore: add database logger

* fix: build

* fix: test

* chore: solve conflicts

* fix: escape delimiter in message

* refactor: improve create logger api

* chore: update app logger options

* chore: remove colorize for json

* fix: bug of data2tree

* fix: test

* chore: log

* chore: remove GITHUB_ACTION check

* fix: bug

* chore: change version

* fix: transports

* fix: mockServer

* chore: use new plugin settings api

* fix: version

* fix: build

* feat: support logfmt

* fix: build

* fix: build

* fix: test

* chore: update config

* fix: test

* fix: bug

* fix: test

* fix: format

* chore: update path

* fix: build

* fix: bug

* chore: update comment

* fix: allow to custom format

* fix: package.json

* fix: version

* fix: bug
2023-12-27 13:56:13 +08:00

24 lines
700 B
TypeScript

import { Logger } from 'winston';
import { SystemLoggerOptions, createSystemLogger } from './system-logger';
import { getLoggerFilePath } from './config';
export const createAppLogger = ({ app, ...options }: SystemLoggerOptions & { app?: string }) =>
createSystemLogger({ dirname: getLoggerFilePath(app), filename: 'system', seperateError: true, ...options });
export type logMethod = (
message: string,
meta?: {
module?: string;
submodule?: string;
method?: string;
[key: string]: any;
},
) => AppLogger;
export interface AppLogger extends Omit<Logger, 'info' | 'warn' | 'error' | 'debug'> {
info: logMethod;
warn: logMethod;
error: logMethod;
debug: logMethod;
}