LINUX.ORG.RU

Создание лога в perl скрипте.


0

0

Я хочу создать модуль который создавл бы логи для моих perl скриптов. Подскажите как правильно сказать это сделать log_message о дескрипторе в log_create?

>> file LOG.pm package LOG;

sub log_create { open OUT, ">> ". shift; }

sub log_message { print OUT shift; }

sub log_close { close OUT if $LOG_CREATED; }

sub gdie { print $_[0]; log_message $_[0]; exit; }

1 __END__

>> file test.pl.

#!/usr/bin/perl -w

use "LOG";

LOG::log_open "1.log"; LOG::log_message "test\n"; LOG::log_close;


Re: Создание лога в perl скрипте.

Пардон - описался:

s/сказать это сделать/сказать/

DRuG ()

Re: Создание лога в perl скрипте.

Засовывай дескриптор файла в %ENV и потом оттуда его бери. Так кажись можно сделать.

Zmacs ()
Ответ на: Re: Создание лога в perl скрипте. от DRuG

Re: Создание лога в perl скрипте.

Ну например так:

package LOG;

use strict;

sub log_create {
    $ENV{Log} = new IO::File;
    open $ENV{Log}, ">>".shift();
}
sub log_message {
    print {$ENV{Log}} shift()."\n";
}
sub log_close {
    close $ENV{Log};
}
1;

----------------------

#!/usr/bin/perl -w

use strict;

use LOG;

LOG::log_create "out.log";
LOG::log_message "Passed!";
LOG::log_close;

Zmacs ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.