Skip to content

Commit 94e74da

Browse files
Merge pull request RyanCNP#104 from RyanCNP/develop
Develop: monitoramento
2 parents 1ef1d2d + 3380c90 commit 94e74da

File tree

10 files changed

+435
-19
lines changed

10 files changed

+435
-19
lines changed

app.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,18 @@ import bodyParser from "body-parser";
1919
import stripeRoutes from "./src/routes/stripe.routes";
2020
import RegistroRoutes from './src/routes/registro.routes';
2121
import VisitasRoutes from './src/routes/visita.routes';
22+
import { logHandler } from "./src/middlewares/log.middleware";
2223

2324
const app = express();
2425

2526
app.use(cors());
26-
2727
app.use('/api/stripe/webhook', bodyParser.raw({ type: 'application/json' }));
2828

2929
app.use(express.json());
3030

3131
setupSwagger(app);
3232

33+
app.use(logHandler);
3334
app.use("/categoria", categoriaRoutes);
3435
app.use("/denuncia", denunciaRoutes);
3536
app.use("/user", userRoutes);

logger-winston.ts

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
2+
import winston from "winston";
3+
import { Logtail } from '@logtail/node';
4+
import { LogtailTransport } from "@logtail/winston";
5+
6+
const log = process.env.LOGTAIL_TOKEN;
7+
let logtail!: Logtail;
8+
if (log) {
9+
logtail = new Logtail(log, {
10+
endpoint: process.env.LOGTAIL_URI,
11+
});
12+
}
13+
14+
logtail.info('teste');
15+
16+
/** Criando a instância base com formatação */
17+
const baseLogger = winston.createLogger({
18+
level: 'debug',
19+
format: winston.format.combine(
20+
winston.format.timestamp(),
21+
winston.format.printf(({ level, message, timestamp, ...rest }) => {
22+
const meta = Object.keys(rest).length ? JSON.stringify(rest) : '';
23+
return `[${timestamp}] ${level.toUpperCase()}: ${message} ${meta}`;
24+
})
25+
),
26+
transports: [new LogtailTransport(logtail)],
27+
});
28+
29+
/** Métodos personalizados */
30+
const logger = {
31+
info: (msg:string, meta = {}) => baseLogger.info(msg, meta),
32+
warn: (msg:string, meta = {}) => baseLogger.warn(msg, meta),
33+
error: (msg:string, meta = {}) => baseLogger.error(msg, meta),
34+
debug: (msg:string, meta = {}) => baseLogger.debug(msg, meta),
35+
alert: (msg:string, meta = {}) => baseLogger.log('alert', msg, meta), // nível customizado (precisa configurar abaixo)
36+
};
37+
38+
// Adicionando nível "alert" (opcional)
39+
baseLogger.levels['alert'] = 0;
40+
baseLogger.add(new winston.transports.Console()); // Adiciona log no console também, se quiser
41+
42+
export default logger;

0 commit comments

Comments
 (0)