social bookmarking for atproto
at main 39 lines 951 B view raw
1/* 2 * clippr: a social bookmarking service for the AT Protocol 3 * Copyright (c) 2025 clippr contributors. 4 * SPDX-License-Identifier: AGPL-3.0-only 5 */ 6 7import { createLogger, format, transports } from "winston"; 8import { Config } from "./config.js"; 9 10const config = Config.getInstance().getConfig(); 11const logLevel = config.logLevel; 12 13const Logger = createLogger({ 14 level: logLevel, 15 transports: [ 16 new transports.Console({ 17 format: format.combine( 18 format.colorize(), 19 format.timestamp(), 20 format.printf(({ level, message, timestamp }) => { 21 return `[${timestamp}] ${level}: ${message}`; 22 }), 23 ), 24 }), 25 new transports.File({ 26 dirname: "logs", 27 filename: "clippr-error.log", 28 level: "error", 29 }), 30 new transports.File({ 31 dirname: "logs", 32 filename: "clippr-combined.log", 33 }), 34 ], 35 format: format.combine(format.timestamp(), format.json()), 36 defaultMeta: { service: "clippr-backend" }, 37}); 38 39export default Logger;