Re: Logger in Tabelle und/oder auf cli
"Thiemo Kellner, NHC Barhufpflege" <[email protected]> Wed, 09 Mar 2016 10:12:53 +0100
| Newsgroups | gmane.comp.db.postgresql.german |
|---|---|
| Message-ID | <[email protected]> |
Interessante Ansätze, danke. Zitat von "Gunnar \"Nick\" Bluth" <[email protected]>: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Am 09.03.2016 um 09:39 schrieb Thiemo Kellner, NHC Barhufpflege: >> Danilo, danke für Deine Antwort. Raise schreibt auch ins Serverlog, >> was ich nicht möchte, um es nicht zu verschmutzen. Abgesehen davon >> habe ich keine Kontrolle, was alles geschrieben wird, abgesehen von >> der Meldung selbst. Am meisten vermisse ich da, dass der Erzeuger, >> zum Beispiel die Function, aus der der Eintrag kommt, nicht erfasst >> wird. > > Unter der Annahme, dass du möglichst flexibel bleiben willst, denke > ich spontan an LISTEN/NOTIFY und einen externen oder internen > Consumer, der die geschickten Nachrichten async abgreift und dann > dahin schickt, wo du sie willst. Das kann dann halt eine Datei, eine > Tabelle (auch auf einer anderen DB) oder was auch immer sein. Die 8GB > oder so default-queue-size sollten ja reichen? ;-) > > Das Format musst du dann latürnich selber festlegen... und den Caller > mit reinschreiben, denn den findet man nicht so einfach (vgl. > http://stackoverflow.com/questions/12611596/getting-name-of-the-current-function-inside-of-the-function-with-plpgsql) > > >> Mit meiner Arbeit mit Oracle habe ich es sehr schätzen gelernt, >> dass der von mir erwähnte Logger in eine Tabelle schreibt. Zur >> Entwicklung war die Kommandozeilenausgabe sehr praktisch, im >> Betrieb aber konnte diese Häufig nicht genutzt werden, zum >> Beispiel, weil der Aufruf innerhalb von PowerCenter erfolgte. > > Es spricht ja nichts dagegen, sich einen Wrapper zu schreiben, der > alles auf minimalem Loglevel _auch_ loggt _und_ in eine Tabelle > schreibt (am Besten per FDW, sonst verschwinden deine Nachrichten, > wenn die Transaktion wegen eines Fehlers abbricht; nicht das, was du > beim Entwickeln haben willst!). In PROD hast du dann ja einen höheren > Wert in "log_min_messages". > > >> PL/Python zu verwenden bin ich zögerlich, weil zu dessen Nutzung >> erhebliche Privilegien erforderlich sind. PL/TCL möchte ich nicht > > Na ja, deine Logging-Prozedur würdest du ja selber schreiben... dann > "SECURITY DEFINER" drauf und gut ist. > > > <snip> > > >>> Am 08.03.2016 um 19:36 schrieb Thiemo Kellner, NHC Barhufpflege: >>>> @Andreas und Hans >>>> >>>> Ich möchte NICHT die Änderungen von Daten in Tabellen >>>> protokollieren sondern aus einer der PL-Sprachen Informationen >>>> auf die Kommandozeile und/oder in eine Logging-Tabelle >>>> schreiben. Folgend ein Ausschnitt aus einem Oracle-Package. Die >>>> Procedure-Aufrufe TRACE, DEBUG, INFO, WARN, ERROR, FATAL ist >>>> das worum es mir geht. >>>> >>>> function GET_CHAR_DIFF_CLASSES( P_STRING_A >>>> varchar2, P_STRING_B varchar2, >>>> P_LOG_LEVEL PKG_PLNSQL_LOGGER.GT_LOG_LEVEL := 'INFO', >>>> P_DO_LOG_2_DBMS_OUTPUT boolean := false, >>>> P_DO_CACHE_OVERRIDE boolean := false, >>>> P_DO_TRUNCATE_LOG_TABLE boolean := false ) return >>>> GT_CHARACTER_POSITIONS is > > Wenn dir solcher Code gefällt, solltest du weniger Scheu vor Neuem > zeigen (pun intended ;-). > > Just my 2p, > - -- > Gunnar "Nick" Bluth > DBA ELSTER > > Tel: +49 911/991-4665 > Mobil: +49 172/8853339 > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2.0.22 (GNU/Linux) > > iQIcBAEBAgAGBQJW3+YaAAoJEDh0MJ2tR5CnykUP/3384M3caIBqSr3QX9vDdacv > mxtrM9IOXtx9A1Wmn35ZyN0DF0cqorr/iViHmVLdurUfeQcwbSWvoB1rEw+IjxA2 > ke9hN7Zae5+DbUfi5lJdoVu+WsvbAArcbo/0QK7QB2RMbXAMXku+NOAAVqqpeIAb > dmqZ24Nz3BEdLa/UlvswTwBh2JSqL6y15CD+0dJUyy+PH/I4RYPD6Ju+R9EAvZXD > Uyp6+eZXbPJWLHvH/xgfR7XZrqYMshh1llpTMiU3eur5TgGUH9IJ6zH900V6j5fh > LP23M/kH5mfusA5F0UbOkVUrly5NkObUetBsXk9m52LKr7q2UF3txzZINRd7a7La > ZI41jgBeMmKTeuASjvbByZvSrs7EGCEQiwbNdQEd6OTLW/mEf1DlzTO/xnYKrCez > 6MstTNoUAPVXIwXTC6Ba0vJ3Fflv2iVUwQ7W8sUYaHNuWGlqkT5ZZdmJh/k0t+7x > oWA90onhSqBS7rUkfn+N3PA96cVWnlkGoQUShSc62Q4EDE2LISFYqxSna/f2BG76 > JqcaspoTIBg0ZxnLO9o76UTrUgvHXBSeNrMjLa67eGuXHIGA5CzUHewmag4CASjM > 5D2Cz71ng/wX47ZF2K5NyOPMPMlWHmcJaCve3pUkVRgh/s6pO6BIWd96pxpdrc/K > vMyDWtr06xfj0MQro19X > =S/UG > -----END PGP SIGNATURE----- > > > -- > Sent via pgsql-de-allgemein mailing list ([email protected]) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-de-allgemein > -- Auf Gelassene Pferde kann man bauen! +49 (0)1578-772 37 37 +41 (0)78 947 36 21 sip: [email protected] http://www.gelassene-pferde.biz Mitglied bei http://www.keep-it-natural.org Öffentlicher PGP-Schlüssel: http://pgp.mit.edu/pks/lookup?op=get&search=0x8F70EFD2D972CBEF ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.
signature.asc
(application/pgp-signature, 198 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) iEYEABECAAYFAlbf6RUACgkQj3Dv0tlyy+8xqgCZAclqcvm6ucWs1xl3+3caQFRa 0jcAnil7RjpIyDhClACtPcYxzeo/MClv =FvhW -----END PGP SIGNATURE-----