2010-05-10 52 views
7

我有以下文件,配置日誌記錄:如何在Python日誌記錄配置文件中指定相對路徑?

[loggers] 
keys=root 

[handlers] 
keys = root 

[formatters] 
keys = generic 

# Loggers 
[logger_root] 
level = DEBUG 
handlers = root 

# Handlers 
[handler_root] 
class = handlers.RotatingFileHandler 
args = ("test.log", "maxBytes=1*1024*1024", "backupCount=10") 
level = NOTSET 
formatter = generic 

# Formatters 
[formatter_generic] 
format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s 
datefmt = %Y-%m-%d %H:%M:%S 

在發展這個偉大的工程,但是當我部署應用程序test.log中試圖寫在一個路徑中,我沒有必要的許可。

所以我的問題是,我該怎麼做才能在這個配置文件中指定一個相對路徑。

+2

當然test.log中是相對的已經在這裏 - 如果你把一個相對更全面地會發生什麼這裏的路徑 – Mark 2010-05-10 21:41:36

回答

5

馬克是正確的,你在配置文件中的路徑是相對於調用logging.config.fileConfig時調用的當前目錄。這取決於您的部署方法的細節。

您可能需要指定一個絕對指向您的文件的路徑,方法是在運行代碼的進程可以寫入的目錄中加上'test.log'前綴。

另一個問題可能只是Django進程運行時用戶的權限問題:通常在運行開發服務器時,它運行在您的帳戶下,您通常不會遇到權限問題。在部署時(例如使用Apache和mod_wsgi),Apache進程和/或mod_wsgi守護進程在不同帳戶下運行,這可能需要對相關文件夾授予權限。

如果您需要更多的幫助,請給有關部署的詳細信息,與日誌文件目錄對於方法,位置等

+0

好吧,沒問題我會添加test.log的絕對路徑,並繼續:)我只是認爲有一個改變,指定一個相對路徑的conf文件:) – 2010-05-12 13:50:18

相關問題