mirror of
https://github.com/zadam/trilium.git
synced 2025-06-05 01:18:44 +02:00
logging stuff to rotated files through simple-node-logger
This commit is contained in:
parent
11bfae4007
commit
b4bb1b539e
21
app.js
21
app.js
@ -1,13 +1,13 @@
|
||||
const express = require('express');
|
||||
const path = require('path');
|
||||
const favicon = require('serve-favicon');
|
||||
const logger = require('morgan');
|
||||
const cookieParser = require('cookie-parser');
|
||||
const bodyParser = require('body-parser');
|
||||
const helmet = require('helmet');
|
||||
const session = require('express-session');
|
||||
const FileStore = require('session-file-store')(session);
|
||||
const os = require('os');
|
||||
const log = require('./services/log');
|
||||
|
||||
const indexRoute = require('./routes/index');
|
||||
const loginRoute = require('./routes/login');
|
||||
@ -40,7 +40,12 @@ app.set('views', path.join(__dirname, 'views'));
|
||||
app.set('view engine', 'ejs');
|
||||
|
||||
app.use(helmet());
|
||||
app.use(logger('dev'));
|
||||
|
||||
app.use((req, res, next) => {
|
||||
log.request(req);
|
||||
next();
|
||||
});
|
||||
|
||||
app.use(bodyParser.json());
|
||||
app.use(bodyParser.urlencoded({extended: false}));
|
||||
app.use(cookieParser());
|
||||
@ -78,21 +83,15 @@ app.use('/api/password', passwordApiRoute);
|
||||
app.use('/api/migration', migrationApiRoute);
|
||||
|
||||
// catch 404 and forward to error handler
|
||||
app.use(function (req, res, next) {
|
||||
app.use((req, res, next) => {
|
||||
const err = new Error('Not Found');
|
||||
err.status = 404;
|
||||
next(err);
|
||||
});
|
||||
|
||||
// error handler
|
||||
app.use(function (err, req, res, next) {
|
||||
// set locals, only providing error in development
|
||||
res.locals.message = err.message;
|
||||
res.locals.error = req.app.get('env') === 'development' ? err : {};
|
||||
|
||||
// render the error page
|
||||
res.status(err.status || 500);
|
||||
res.render('error');
|
||||
app.use((err, req, res, next) => {
|
||||
log.error(err.message);
|
||||
});
|
||||
|
||||
require('./services/sync');
|
||||
|
@ -14,19 +14,19 @@
|
||||
"debug": "~3.1.0",
|
||||
"ejs": "~2.5.7",
|
||||
"electron": "^1.7.9",
|
||||
"electron-debug": "^1.0.0",
|
||||
"electron-rebuild": "^1.6.0",
|
||||
"express": "~4.16.2",
|
||||
"express-session": "^1.15.6",
|
||||
"express-sessions": "^1.0.6",
|
||||
"fs-extra": "^4.0.2",
|
||||
"helmet": "^3.9.0",
|
||||
"ini": "^1.3.4",
|
||||
"morgan": "~1.9.0",
|
||||
"scrypt": "^6.0.3",
|
||||
"serve-favicon": "~2.4.5",
|
||||
"session-file-store": "^1.1.2",
|
||||
"sqlite": "^2.8.0",
|
||||
"electron-debug": "^1.0.0",
|
||||
"electron-rebuild": "^1.6.0"
|
||||
"simple-node-logger": "^0.93.30",
|
||||
"sqlite": "^2.8.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"devtron": "^1.1.0",
|
||||
|
@ -11,9 +11,11 @@ if (!fs.existsSync(TRILIUM_DATA_DIR)) {
|
||||
|
||||
const DOCUMENT_PATH = TRILIUM_DATA_DIR + "/document.db";
|
||||
const BACKUP_DIR = TRILIUM_DATA_DIR + "/backup";
|
||||
const LOG_DIR = TRILIUM_DATA_DIR + "/log";
|
||||
|
||||
module.exports = {
|
||||
TRILIUM_DATA_DIR,
|
||||
DOCUMENT_PATH,
|
||||
BACKUP_DIR
|
||||
BACKUP_DIR,
|
||||
LOG_DIR
|
||||
};
|
41
services/log.js
Normal file
41
services/log.js
Normal file
@ -0,0 +1,41 @@
|
||||
"use strict";
|
||||
|
||||
const fs = require('fs');
|
||||
const LOG_DIR = require('./data_dir').LOG_DIR;
|
||||
|
||||
if (!fs.existsSync(LOG_DIR)) {
|
||||
fs.mkdirSync(LOG_DIR, 0o700);
|
||||
}
|
||||
|
||||
const logger = require('simple-node-logger').createRollingFileLogger({
|
||||
errorEventName: 'error',
|
||||
logDirectory: LOG_DIR,
|
||||
fileNamePattern: 'trilium-<DATE>.log',
|
||||
dateFormat:'YYYY-MM-DD'
|
||||
});
|
||||
|
||||
function info(message) {
|
||||
logger.info(message);
|
||||
}
|
||||
|
||||
function error(message) {
|
||||
logger.error(message);
|
||||
}
|
||||
|
||||
const requestBlacklist = [ "/api/audit", "/libraries", "/javascripts", "/images", "/stylesheets" ];
|
||||
|
||||
function request(req) {
|
||||
for (const bl of requestBlacklist) {
|
||||
if (req.url.startsWith(bl)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
logger.info(req.method + " " + req.url);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
info,
|
||||
error,
|
||||
request
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user