2013-07-12 109 views
0

瓶子很好access_log输出我想登录到一个文件。如何使python-bottle日志将其stdout发送到文件?

如何使用daemon并将其放置在某个文件中?

#!/usr/bin/env python 

from bottle import route, run 
import daemon 

@route('/foo') 
def foo(): 
    return template('bar') 

log = open('/dev/shm/access_log', 'a') 
with daemon.DaemonContext(stdout=log): 
    run(host='0.0.0.0', port=8080) 

它背景和瓶子的作品,但我什么也没得到在/dev/shm/access_log

+0

尝试stderr而不是stdout。我怀疑这是写日志消息到标准输出。 – mata

+0

嗯,你是对的。但是这使得它对我来说毫无价值。它是Apache。 – bahamat

+1

无论如何,内置的开发服务器不应该用于生产!它甚至不能提供多个并发请求。 – aychedee

回答

1

将瓶子打印到stderr而不是stdout

log = open('/dev/shm/access_log', 'a') 
with daemon.DaemonContext(stderr=log): 
    run(host='0.0.0.0', port=8080) 
相关问题