Add rotating log files (#280)
- Adding rotating log files to the app. - This uses the `winston-daily-rotate-file` package to rotate the log files before they get too big. - The log files will also now be saved into the `$DATA_DIR/logs` folder #247 Reviewed-on: #280 Reviewed-by: VylpesTester <tester@vylpes.com> Co-authored-by: Ethan Lane <ethan@vylpes.com> Co-committed-by: Ethan Lane <ethan@vylpes.com>
This commit is contained in:
parent
1a4993b091
commit
5751694018
3 changed files with 45 additions and 6 deletions
|
@ -1,4 +1,6 @@
|
|||
import path from "path";
|
||||
import { Logger, createLogger, format, transports } from "winston";
|
||||
import DailyRotateFile from "winston-daily-rotate-file";
|
||||
import DiscordTransport from "winston-discord-transport";
|
||||
|
||||
export default class AppLogger {
|
||||
|
@ -20,12 +22,21 @@ export default class AppLogger {
|
|||
customFormat,
|
||||
),
|
||||
defaultMeta: { service: "bot" },
|
||||
transports: [
|
||||
new transports.File({ filename: "priority.log", level: "warn" }),
|
||||
new transports.File({ filename: "combined.log" }),
|
||||
],
|
||||
transports: [],
|
||||
});
|
||||
|
||||
if (process.env.DATA_DIR) {
|
||||
const logDir = path.join(process.env.DATA_DIR, "logs");
|
||||
|
||||
logger.add(new DailyRotateFile({
|
||||
filename: "bot-%DATE%.log",
|
||||
dirname: logDir,
|
||||
datePattern: "YYYY-MM-DD-HH",
|
||||
maxSize: "20m",
|
||||
maxFiles: "14d",
|
||||
}));
|
||||
}
|
||||
|
||||
if (outputToConsole) {
|
||||
logger.add(new transports.Console({
|
||||
format: format.combine(
|
||||
|
@ -75,4 +86,4 @@ export default class AppLogger {
|
|||
public static LogSilly(label: string, message: string) {
|
||||
AppLogger.Logger.silly({ label, message });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue