1
0
forked from noxious/server

#140 : Individual log files

This commit is contained in:
2024-09-21 15:39:50 +02:00
parent 90ac7728d9
commit 798bfac643
24 changed files with 136 additions and 135 deletions

View File

@ -13,7 +13,7 @@ import UserManager from './managers/userManager'
import { Authentication } from './middleware/authentication'
// import CommandManager from './managers/CommandManager'
import { Dirent } from 'node:fs'
import logger from './utilities/logger'
import { appLogger, watchLogs } from './utilities/logger'
import CharacterManager from './managers/characterManager'
export class Server {
@ -39,31 +39,22 @@ export class Server {
*/
public async start() {
// Read log file and print to console for debugging
const logFile = path.join(__dirname, '../logs/app.log')
fs.watchFile(logFile, (curr, prev) => {
if (curr.size > prev.size) {
const stream = fs.createReadStream(logFile, { start: prev.size, end: curr.size })
stream.on('data', (chunk) => {
console.log(chunk.toString())
})
}
})
watchLogs()
// Check prisma connection
try {
await prisma.$connect()
logger.info('Database connected')
appLogger.info('Database connected')
} catch (error: any) {
logger.error(`Database connection failed: ${error.message}`)
appLogger.error(`Database connection failed: ${error.message}`)
}
// Start the server
try {
this.http.listen(config.PORT, config.HOST)
logger.info(`Socket.IO running on port ${config.PORT}`)
appLogger.info(`Socket.IO running on port ${config.PORT}`)
} catch (error: any) {
logger.error(`Socket.IO failed to start: ${error.message}`)
appLogger.error(`Socket.IO failed to start: ${error.message}`)
}
// Add http API routes
@ -95,7 +86,7 @@ export class Server {
try {
await this.loadEventHandlers(eventsPath, socket)
} catch (error: any) {
logger.error(`Failed to load event handlers: ${error.message}`)
appLogger.error(`Failed to load event handlers: ${error.message}`)
}
}
@ -121,10 +112,10 @@ export class Server {
module.default(socket, this.io)
}
} else {
logger.warn(`Unrecognized export in ${file.name}`)
appLogger.warn(`Unrecognized export in ${file.name}`)
}
} catch (error: any) {
logger.error(`Error loading event handler ${file.name}: ${error.message}`)
appLogger.error(`Error loading event handler ${file.name}: ${error.message}`)
}
}
}
@ -135,4 +126,4 @@ export class Server {
const server = new Server()
server.start()
console.log('Server started')
appLogger.info('Server started')