Re: Logger in Tabelle und/oder auf cli
"Thiemo Kellner, NHC Barhufpflege" <[email protected]> Wed, 09 Mar 2016 09:39:55 +0100
| Newsgroups | gmane.comp.db.postgresql.german |
|---|---|
| Message-ID | <[email protected]> |
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. 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. PL/Python zu verwenden bin ich zögerlich, weil zu dessen Nutzung erhebliche Privilegien erforderlich sind. PL/TCL möchte ich nicht nehmen, weil ich TCL nicht neu lernen möchte und PL/Perl nicht, weil mir Perl zu kryptisch sein kann. Zitat von DaniloE <[email protected]>: > Hi Thiemo, > > ich frag mal das offensichtliche: > > meinst du sowas hier? > http://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html > > Das wäre die einfachste Möglichkeit, eine Nachricht (ins > Applikationslog) zu schreiben. > > Ansonsten wäre es natürlich noch eine Möglichkeit in z.B. PL/Python > dir eine kleine Funktion zu schreiben, die dir in eine bestimmte > Datei loggt. das sind geschätzt keine 20 Zeilen Code. Ich kann dir > da bei Bedarf auch gern was kurzes zukommen lassen. > > Wäre dann sowas wie: > pyraise('ERROR','Alles kaputt','/var/log/pyraise/common.log') > > Kannst du natürlich auch auf eine Tabelle basteln. > > Eine in PostgreSQL native Möglichkeit kann ich dir hier leider nicht nennen. > > DaniloE > > 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 > > > > -- > 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) iEYEABECAAYFAlbf4VsACgkQj3Dv0tlyy++ATgCgqbAJTBo4sEFT+I8qMI1gNWr/ wasAnRvw3njomfZO0RaN0dRMacc8SQbZ =1pxY -----END PGP SIGNATURE-----