mirror of
https://github.com/zadam/trilium.git
synced 2025-06-06 18:08:33 +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 express = require('express');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const favicon = require('serve-favicon');
|
const favicon = require('serve-favicon');
|
||||||
const logger = require('morgan');
|
|
||||||
const cookieParser = require('cookie-parser');
|
const cookieParser = require('cookie-parser');
|
||||||
const bodyParser = require('body-parser');
|
const bodyParser = require('body-parser');
|
||||||
const helmet = require('helmet');
|
const helmet = require('helmet');
|
||||||
const session = require('express-session');
|
const session = require('express-session');
|
||||||
const FileStore = require('session-file-store')(session);
|
const FileStore = require('session-file-store')(session);
|
||||||
const os = require('os');
|
const os = require('os');
|
||||||
|
const log = require('./services/log');
|
||||||
|
|
||||||
const indexRoute = require('./routes/index');
|
const indexRoute = require('./routes/index');
|
||||||
const loginRoute = require('./routes/login');
|
const loginRoute = require('./routes/login');
|
||||||
@ -40,7 +40,12 @@ app.set('views', path.join(__dirname, 'views'));
|
|||||||
app.set('view engine', 'ejs');
|
app.set('view engine', 'ejs');
|
||||||
|
|
||||||
app.use(helmet());
|
app.use(helmet());
|
||||||
app.use(logger('dev'));
|
|
||||||
|
app.use((req, res, next) => {
|
||||||
|
log.request(req);
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
app.use(bodyParser.json());
|
app.use(bodyParser.json());
|
||||||
app.use(bodyParser.urlencoded({extended: false}));
|
app.use(bodyParser.urlencoded({extended: false}));
|
||||||
app.use(cookieParser());
|
app.use(cookieParser());
|
||||||
@ -78,21 +83,15 @@ app.use('/api/password', passwordApiRoute);
|
|||||||
app.use('/api/migration', migrationApiRoute);
|
app.use('/api/migration', migrationApiRoute);
|
||||||
|
|
||||||
// catch 404 and forward to error handler
|
// catch 404 and forward to error handler
|
||||||
app.use(function (req, res, next) {
|
app.use((req, res, next) => {
|
||||||
const err = new Error('Not Found');
|
const err = new Error('Not Found');
|
||||||
err.status = 404;
|
err.status = 404;
|
||||||
next(err);
|
next(err);
|
||||||
});
|
});
|
||||||
|
|
||||||
// error handler
|
// error handler
|
||||||
app.use(function (err, req, res, next) {
|
app.use((err, req, res, next) => {
|
||||||
// set locals, only providing error in development
|
log.error(err.message);
|
||||||
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');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
require('./services/sync');
|
require('./services/sync');
|
||||||
|
@ -14,19 +14,19 @@
|
|||||||
"debug": "~3.1.0",
|
"debug": "~3.1.0",
|
||||||
"ejs": "~2.5.7",
|
"ejs": "~2.5.7",
|
||||||
"electron": "^1.7.9",
|
"electron": "^1.7.9",
|
||||||
|
"electron-debug": "^1.0.0",
|
||||||
|
"electron-rebuild": "^1.6.0",
|
||||||
"express": "~4.16.2",
|
"express": "~4.16.2",
|
||||||
"express-session": "^1.15.6",
|
"express-session": "^1.15.6",
|
||||||
"express-sessions": "^1.0.6",
|
"express-sessions": "^1.0.6",
|
||||||
"fs-extra": "^4.0.2",
|
"fs-extra": "^4.0.2",
|
||||||
"helmet": "^3.9.0",
|
"helmet": "^3.9.0",
|
||||||
"ini": "^1.3.4",
|
"ini": "^1.3.4",
|
||||||
"morgan": "~1.9.0",
|
|
||||||
"scrypt": "^6.0.3",
|
"scrypt": "^6.0.3",
|
||||||
"serve-favicon": "~2.4.5",
|
"serve-favicon": "~2.4.5",
|
||||||
"session-file-store": "^1.1.2",
|
"session-file-store": "^1.1.2",
|
||||||
"sqlite": "^2.8.0",
|
"simple-node-logger": "^0.93.30",
|
||||||
"electron-debug": "^1.0.0",
|
"sqlite": "^2.8.0"
|
||||||
"electron-rebuild": "^1.6.0"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"devtron": "^1.1.0",
|
"devtron": "^1.1.0",
|
||||||
|
@ -11,9 +11,11 @@ if (!fs.existsSync(TRILIUM_DATA_DIR)) {
|
|||||||
|
|
||||||
const DOCUMENT_PATH = TRILIUM_DATA_DIR + "/document.db";
|
const DOCUMENT_PATH = TRILIUM_DATA_DIR + "/document.db";
|
||||||
const BACKUP_DIR = TRILIUM_DATA_DIR + "/backup";
|
const BACKUP_DIR = TRILIUM_DATA_DIR + "/backup";
|
||||||
|
const LOG_DIR = TRILIUM_DATA_DIR + "/log";
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
TRILIUM_DATA_DIR,
|
TRILIUM_DATA_DIR,
|
||||||
DOCUMENT_PATH,
|
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