Zaman içinde bir sürü komut yazdım ve kodları DRY kodunda tutmak için yeniden yazım aşamasındayım. Şu anda çeşitli komut bu satırlar boyunca bir şey kullanıyorum: (yani "modül") her komut bu tekrarlayarak daha ziyadePython: Farklı modülden aynı dosyaya giriş yapmanın doğru yolu
if __name__ == '__main__':
logger = logging.getLogger('dbinit')
hdlr = logging.FileHandler('/var/logs/tmp/foo.log')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.WARNING)
, bu logger başlatılması çeşitli tek bir yere yapılması ve erişilen istiyorum komut dosyaları (Hmm, belki de bir singleton sınıfında mı?). Ben (yani tek çekirdek modülü içinde logger başlatma kodu koymak) o yapamazsa
, ben logging.FileHandler() çağrısında aynı günlük dosyası adını kullanarak, çeşitli komut yazacak varsayalım aynı dosyaya.
Bu varsayım doğru mu?
Son olarak, en az değil, bu sorunu çözmek için en iyi yöntem (yani Pythonic) yolu nedir? Birçok yerde böyle bir init koduna sahip olmak,
İlgili:: böyle programlamak içinde
Şimdi işlevi çağırmak [Birden modüllerden Python günlüğü sorunlarını] (http://stackoverflow.com/questions/7341538/) –
İlgili: [Python: günlüğe kaydetme modülü - global olarak] (http://stackoverflow.com/questions/7621897/) –