reduce logging
This commit is contained in:
parent
07842e356e
commit
e974dee9b7
2 changed files with 27 additions and 8 deletions
|
@ -12,3 +12,5 @@ command_channel = 386989864014446612
|
|||
sexr_chan = 386990164896907264
|
||||
|
||||
admin_role = 386566510803681280
|
||||
|
||||
bot_token = None
|
||||
|
|
33
memed.py
33
memed.py
|
@ -15,7 +15,7 @@ import asyncpg
|
|||
import config
|
||||
from bot import schedule_bot
|
||||
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
log = logging.getLogger(__name__)
|
||||
db = None
|
||||
bot = None
|
||||
|
@ -29,6 +29,15 @@ bot = None
|
|||
# - op 2 : rsudo
|
||||
|
||||
|
||||
async def wrap(coro):
|
||||
try:
|
||||
await coro()
|
||||
except ConnectionError as e:
|
||||
log.warning('connection err: %r', e)
|
||||
except:
|
||||
log.exception('error inside wrapped')
|
||||
|
||||
|
||||
def parse_logstr(string):
|
||||
# '2015-02-11T19:05:10+00:00 labrat-1 snoopy[896]: [uid:0 sid:11679
|
||||
# tty:/dev/pts/2 cwd:/root filename:/usr/bin/cat]: cat /etc/fstab.BAK'
|
||||
|
@ -55,11 +64,12 @@ def parse_logstr(string):
|
|||
|
||||
async def read_msg(reader):
|
||||
header = await reader.read(8)
|
||||
log.debug('[recv] %r', header)
|
||||
length, op = struct.unpack('Ii', header)
|
||||
data = await reader.read(length)
|
||||
data = data.decode()
|
||||
|
||||
log.info('[recv] %d %d %s', length, op, data)
|
||||
log.debug('[recv] %d %d %s', length, op, data)
|
||||
return op, data
|
||||
|
||||
|
||||
|
@ -72,12 +82,12 @@ async def read_payload(reader):
|
|||
|
||||
|
||||
async def send_msg(writer, op: int, data: str):
|
||||
header = struct.pack('Ii', len(data), op)
|
||||
msg = f'{header.decode()}{data}'.encode()
|
||||
log.info('[send] %d, %s -> %r', op, data, msg)
|
||||
header = struct.pack('Ii', len(data), op).decode()
|
||||
msg = f'{header}{data}'.encode()
|
||||
log.debug('[send] %d, %s -> %r', op, data, msg)
|
||||
|
||||
writer.write(msg)
|
||||
asyncio.get_event_loop().create_task(writer.drain())
|
||||
asyncio.get_event_loop().create_task(wrap(writer.drain))
|
||||
|
||||
|
||||
async def process(reader, writer, op: int, message: str):
|
||||
|
@ -85,15 +95,21 @@ async def process(reader, writer, op: int, message: str):
|
|||
if op == 1:
|
||||
uid, cwd, command = parse_logstr(message)
|
||||
|
||||
log.info('[process] Logging command uid=%d cwd=%r cmd=%r',
|
||||
uid, cwd, command)
|
||||
|
||||
await db.execute("""
|
||||
INSERT INTO logs (uid, cwd, cmd) VALUES ($1, $2, $3)
|
||||
""", uid, cwd, command)
|
||||
elif op == 2:
|
||||
log.debug(bot.cogs)
|
||||
if not bot:
|
||||
return await send_msg(writer, 1, 'no bot up')
|
||||
|
||||
rsudo = bot.get_cog('Rsudo')
|
||||
if not rsudo:
|
||||
return await send_msg(writer, 1, 'no rsudo cog')
|
||||
|
||||
log.info('[process] got rsudo! %r', message)
|
||||
await rsudo.create_request(message)
|
||||
return await send_msg(writer, 1, 'ok')
|
||||
|
||||
|
@ -112,9 +128,10 @@ async def handle_client(reader, writer):
|
|||
await process(reader, writer, op, message)
|
||||
|
||||
writer.close()
|
||||
except ConnectionError as e:
|
||||
log.warning('connection err: %r', e)
|
||||
except Exception as e:
|
||||
log.exception('error at handler coro')
|
||||
await send_msg(writer, -1, repr(e))
|
||||
writer.close()
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue