Spaces:
Paused
Paused
File size: 1,814 Bytes
4c34106 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | /*
* This file is part of WPPConnect.
*
* WPPConnect is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* WPPConnect is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with WPPConnect. If not, see <https://www.gnu.org/licenses/>.
*/
import { config, createLogger, format, transports } from 'winston';
import { FormatWrap, TransformableInfo } from 'logform';
export type LogLevel =
| 'error'
| 'warn'
| 'info'
| 'http'
| 'verbose'
| 'debug'
| 'silly';
export interface MetaInfo {
session?: string;
type?: string;
}
export interface SessionInfo extends TransformableInfo, MetaInfo {}
export const formatLabelSession: FormatWrap = format(
(info: SessionInfo, opts?: any) => {
const parts = [];
if (info.session) {
parts.push(info.session);
delete info.session;
}
if (info.type) {
parts.push(info.type);
delete info.type;
}
if (parts.length) {
let prefix = parts.join(':');
info.message = `[${prefix}] ${info.message}`;
}
return info;
}
);
export const defaultLogger = createLogger({
level: 'silly',
levels: config.npm.levels,
format: format.combine(
formatLabelSession(),
format.colorize(),
format.padLevels(),
format.simple()
),
// defaultMeta: { service: 'venon-bot' },
transports: [new transports.Console()],
});
|