Log :: PROCMAIL

PERL-extensie voor het lezen van ProCmail-logbestanden
Download nu

Log :: PROCMAIL Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Philippe Bruhat
  • Uitgever website:
  • http://search.cpan.org/~book/

Log :: PROCMAIL Tags


Log :: PROCMAIL Beschrijving

Perl-extensie voor het lezen van ProCMail-logbestanden Log :: Procmail is een Perl-module voor het lezen van procmail logfiles.Log :: ProcmailLog :: Procmail leest procmail (1) logfiles en rendement van de abstracts één voor één $ log = Log :: Procmail-> new (@files).; Constructor voor de procmail log lezer. Geeft als resultaat een verwijzing naar een Inloggen :: Procmail object. De aannemer accepteert een lijst met bestand als parameter. Zo kunt u records uit meerdere bestanden te lezen op een rij: $ log = Log :: Procmail-> new ( "$ ENV {HOME} / procmail / log.2.", "$ ENV {HOME} / procmail / log. 0,1" , "$ ENV {HOME} / procmail / log",.); Wanneer $ log het einde van het bestand "log" bereikt, niet sluit het bestand. Dus, na procmail processen aantal inkomende e-mail, de volgende oproep naar de volgende () zal de nieuwe records terug te keren. $ Rec = $ log> volgende Return een Inloggen :: Procmail :: Abstract object dat een vermelding in het logbestand te vertegenwoordigen. Keer terug undef indien er geen verslag meer in het bestand. Wanneer de Log :: Procmail doel het einde van een bestand bereikt en dit bestand niet de laatste van de stapel, sluit het huidige bestand en opent de volgende. Wanneer het einde van het laatste bestand is bereikt, wordt het bestand niet gesloten. De volgende keer dat de plaat methode wordt aangeroepen, zal het opnieuw controleren bij nieuwe abstracts werden toegevoegd. Procmail (1) log er als volgt uitzien: Van karen644552@btinternet.com vr 8 februari 20:37:242002 Onderwerp: volatiliteit van de aandelenmarkten slaan u Up? (18 @ 2) Map: / var / spool / mail / boek 2840 Sommige informatieve berichten kunnen door procmail (1) in het logbestand worden gezet. Als de fouten attribuut waar is, zijn deze lijnen terug een voor een. Met fouten is ingeschakeld, moet u controleren dat de volgende () eigenlijk een Inloggen :: Procmail :: Abstract object retourneert. Hier is een voorbeeld: $ log> fouten (1); # Halen gegevens while ($ rec = $ log-> volgende) {# als het een fout lijn if (ref $ rec!) {# Dit is niet een log, maar een informatieve boodschap # doe iets met het de volgende; } # Normaal logverwerking} $ log> push ($ file ); Druk een of meer bestanden op de top van de lijst van logbestanden te onderzoeken. Wanneer Inloggen :: Procmail loopt uit abstracts om het rendement (dat wil zeggen zij tot het einde van het bestand), is het transparant opent het volgende bestand (als die er is) en houdt de terugkeer nieuwe abstracts. $ Log> fouten () ; Instellen of de fout vlag. Indien ingesteld, wanneer de volgende methode () de string te vinden in het logbestand zal terugkeren, in plaats van het te negeren. Let op: het is een eenvoudige string, geen Log :: Procmail :: Abstract object. Standaard is het geen fout terug te keren. $ Fh = $ log> fh () Geeft het geopende filehandle, waaruit de volgende oproep naar de volgende () zal proberen om een record te lezen. Selecteren $ = $ log> select () Return een IO :: Selecteer object dat de geopende filehandle horloges. Je bent niet de bedoeling om gebruik te maken add () of verwijderen () op de geretourneerde IO :: Selecteer object. Extra waarschuwing voor MSWin32, NetWare, dos, VMS, Riscos en BeOS: op deze systemen, selecteer () keert terug undef. (Controleer ext / IO / t / io_sel.t in de Perl bronnen voor meer informatie. Tip:. Look voor het bericht 4-arg selecteren is alleen geldig op sockets) Log :: Procmail :: AbstractLog :: Procmail :: Abstract is een klasse die de abstracte informatie bevatten. Sinds de abstracte hold From, datum, onderwerp, Folder en Maat informatie, kan dit alles worden geraadpleegd en gewijzigd door de uit (), datum (), onderwerp (), map () en grootte () methods.Log :: Procmail: : volgende () geeft een Inloggen :: Procmail :: Abstract object.Log :: Procmail :: Abstract accessors The Log :: Procmail :: Abstract object accessors hebben namen van (), datum (), onderwerp (), map () en grootte (). Zij keren de relevante informatie als ze worden opgeroepen zonder argumenten, en zet deze op hun eerste argument anders. # Count mail ontvangen per map while ($ rec = $ log-> volgende) {$ map {$ REC> folder} ++} De bron () accessor geeft de naam van de log-bestand of de tekenreeksrepresentatie van het handvat, als een filehandle werd gegeven. $ REC> ymd () Geeft de datum in de vorm yyyymmmddhhmmss waarbij elk veld is wat je denkt dat het is. Deze methode is alleen-lezen only.EXAMPLESHere is een voorbeeld procmail biff-achtige script, met dank aan Ian Langworth: # / usr / bin / perl -w use strict; Gebruik Inloggen :: Procmail; gebruik constant LOGFILE => "$ ENV {HOME} /procmail.log"; gebruik constant VALID_FOLDERS => ; mijn $ format = "\% 8s: \% - 30.30s /% s \ n"; mijn $ log = Log :: Procmail-> new (LOGFILE); $ Log> fouten (1); while ($ log> Selecteren-> can_read) {my $ rec = $ log> volgende; # fout? waarschuwen "$ rec \ n", naast tenzij ref $ rec; # Negeren brievenbussen we niet over volgend schelen tenzij grep {$ _ eq $ REC> map} @ {VALID_FOLDERS ()}; # Printgegevens printf $ format, Vanaf => $ REC> uit; printf $ format, Onderwerp => $ REC> onderwerp, $ REC> map; } SYNOPSIS gebruik Inloggen :: Procmail; mijn $ log = new Inloggen :: Procmail 'procmail.log'; # Lus op elke abstracte terwijl (mijn $ rec = $ log-> volgende) {# iets met $ REC> map $ REC> grootte, enz doen} Vereisten: · Perl


Log :: PROCMAIL Gerelateerde software