forked from noxious/server
#140 : Individual log files
This commit is contained in:
@ -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')
|
||||
|
Reference in New Issue
Block a user