My jsme to řešili v projektu, který byl pospojován pomocí Springu, a tam jsme použili aspekt pověšený na metody DAO objektů. Nebylo to tedy v pravém smyslu logování činností na db, ale na DAO vrstvě, aspekt zalogoval název metody a hodnoty parametrů. Nevýhodou je, že nelze zalogovat původní hodnotu v db. Jinak k logování uživatelského jména a dalších kontextových informací jsme použili třídy MDC, NDC z Log4J. Tomáš Záluský
> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Tomas Zverina > Sent: Monday, December 18, 2006 6:13 PM > To: Java > Subject: sledovani zasahu do DB - Spring, Oracle > > > Zdravim, > > mam tu pozadavek, aby se sledovaly veskere zmeny, ktere se v > DB delaji. > Napada me nasledujici: > > Vytvorime nejake mocne PL/SQL, ktere nam na vsechny tabulky navesi > trigger, ktery bude vsechny zmeny poctive logovat do nejake > jednoduche > tabulky zmen. > > Otazkou je, jak zaridit, aby se trigger dozvedel, ktery > uzivatel zmenu > udelal - uzivatele DB se neshoduji s uzivateli systemu, v systemu je > datasource, ktery prideluje connections dle potreby. > > Myslim, ze by se dal "owrapovat" nejaky transaction manager, nebo > samotna JDBC connection, aby pred vykonanim vlastniho dotazu > nastavila > nejakou promennou, platnou pro danou session, kterou by pak trigger > precetl a pouzil jako jmeno autora zmeny. > > Neresili jste neco takoveho? Nevite kudy se vydat? DB nam > hlida Spring, > zda se mi, ze tam nekam by se to pripsat dalo ... > > Diky! > > -- > S pozdravem, > > Tomas Zverina > > Multimedia atelier s.r.o. > Na Dolinách 4 > 147 00 Praha 4 > IČO: 25127071 > tel.: 241 433 120 > e-mail: [EMAIL PROTECTED] > http://www.m-atelier.cz/ > > Společnost Multimedia atelier s.r.o. je zapsána u > rejstříkového soudu v > Praze, oddíl C, vložka 51961. > >
