mas nejaky napad, ako dosiahnut aby sa to automaticky importovalo do _kazdeho_ 
skriptu ? ide mi proste o logovanie, ludia vobec nemusia (ani by vlastne 
nemali) vediet, ze sa nieco taketo deje. musi to byt uplne transparentne.


>-----Pôvodná správa-----
>Od: Jan Janech [mailto:[EMAIL PROTECTED]
>Komu: Konference PyCZ <[EMAIL PROTECTED]>
>Predmet: Re: [python] Logovanie pristupu k suborom
>
>
>azurIt wrote:
>> Zdravim,
>>
>> chcel by som logovat vsetky pristupy k suborom vykonane cez python, da sa to 
>> nejako ? Pripadne, existuje nejaky rozumny a efektivny sposob ako toto 
>> dosiahnut ? Log by som si predstavoval nejako takto:
>> Datum /cesta/k/skript.py otvoril /ceska/k/suboru
>>
>> Ide mi o globalne logovanie na urovni interpreteru (teda nie v danom 
>> skripte).
>>
>> azur
>
>To by ti malo stacit prekryt si builtin funkciu open a builtin objekt
>file nejakym vlastnym objektom... nie ?
>
>teda nieco taketo:
>
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~ filelog.py ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>import sys
>import time
>
>logfileobj = None
>classicfile = file
>
>class logfile(classicfile):
>def __init__(self, filepath, mode):
>t = time.strftime('%Y-%m-%d %H:%M:%S')
>p = sys._getframe().f_back.f_code.co_filename
>l = sys._getframe().f_back.f_lineno
>print>>logfileobj, "%s %s(%d) otvoril %s (mod '%s')"%(t, p, l,
>filepath, mode)
>classicfile.__init__(self, filepath, mode)
>
>def install(logpath):
>global logfileobj
>logfileobj = classicfile(logpath, 'wt')
>import __builtin__
>__builtin__.file = __builtin__.open = logfile
>
>__all__ = ['install']
>
>
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test.py ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>import filelog
>filelog.install('log.log')
>
>file('ahoj', 'w')
>file('caw', 'w')
>open('ahoj', 'r')
>
>_______________________________________________
>Python mailing list
>[EMAIL PROTECTED]
>http://www.py.cz/mailman/listinfo/python

_______________________________________________
Python mailing list
[EMAIL PROTECTED]
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem