Skip to content

Commit

Permalink
增加trace log
Browse files Browse the repository at this point in the history
  • Loading branch information
bangbang93 committed Jul 14, 2022
1 parent 0ca53d4 commit 0b6a43e
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
12 changes: 10 additions & 2 deletions src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {Backend} from './backend'
import {Config} from './config'
import {MinecraftData} from './minecraft-data'
import {ProxyServer} from './proxy-server'
import {getLoglevel} from './util'
import ms = require('ms')

export class Client extends EventEmitter {
Expand All @@ -29,7 +30,7 @@ export class Client extends EventEmitter {
private framer: Duplex = framing.createFramer()
private deserializer
private serializer
private logger = createLogger({name: 'client'})
private logger = createLogger({name: 'client', level: getLoglevel()})
private readonly config: Config
private _closed: boolean
private readonly minecraftData = Container.get(MinecraftData)
Expand Down Expand Up @@ -77,6 +78,7 @@ export class Client extends EventEmitter {
for await (const chunk of this.splitter) {
const packet = this.deserializer.parsePacketBuffer(chunk)
const {name, params} = packet.data
this.logger.trace({packet, state: this.state})
switch (name) {
case 'set_protocol':
this.protocolVersion = params.protocolVersion
Expand Down Expand Up @@ -233,7 +235,13 @@ export class Client extends EventEmitter {
try {
this.write('disconnect', {reason: JSON.stringify({text: reason})})
this._closed = true
this.logger.info(`force disconnecting ${this.socket.remoteAddress}:${this.socket.remotePort}, reason: ${reason}`)
this.logger.info(`force disconnecting, reason: ${reason}`)
setTimeout(() => {
if (this.socket.connecting) {
this.logger.warn('killing connection')
this.kill()
}
}, ms('5s'))
} catch (err) {
this.logger.warn(err, 'failed to disconnect')
this.kill()
Expand Down
5 changes: 5 additions & 0 deletions src/util.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import {LogLevel} from 'bunyan'

export function getLoglevel(): LogLevel {
return process.env.LOGLEVEL as LogLevel ?? 'info'
}

0 comments on commit 0b6a43e

Please sign in to comment.