<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.28.2">
</HEAD>
<BODY>
А можно узнать, что ты делаешь? Просто рядовые приложения не стоят такого количества трудозатрат....imho<BR>
<BR>
В Птн, 13/08/2010 в 15:40 +0300, Oleg Alistratov пишет:
<BLOCKQUOTE TYPE=CITE>
<PRE>

On 13.08.2010 15:33, Serg V. Gulko wrote:

> Все зависит от того, что и где ты делаешь:) Одно только замечание - вот
> ты так тщательно проверяешь, можешь ли ты записать лог(значит, это очень
> критично и нужно). Но что ты делаешь, если лог записать не можешь? Тихо
> умираешь или продолжаешь работать дальше, оставляя всех(и себя в том
> числе) в неведении, а был ли мальчик:)

Дальше я карпаюсь. Тут смысл такой: если некий дочерний объект
уже имеет и умеет лог, то мы в него запишем, нет — так нет,
а carp() сделаем в любом случае.

Сначала я еще поставил проверки на то, что

  $self->isa("SomeLib::Base") и $self->log->isa("SomeLib::Log")

но уж очень страшно выходит.

Заменить на eval { $self->log->warn }
тоже как-то не хорошо.

Вот и думаю.


> В Птн, 13/08/2010 в 15:29 +0300, Oleg Alistratov пишет:
>> Всем  привет,
>>
>> скажите,это  вот  нормально  я  делаю:
>>
>>       if (ref($self)&&  blessed($self)&&  $self->can('log')&&
>> blessed($self->log)&&  $self->log->can('warn')) {
>>           $self->log->warn($msg);
>>       }
>>
>> или  я  перестраховщик  и  нужно  быть  проще?

--
Олег  Алистратов
</PRE>
</BLOCKQUOTE>
<BR>
</BODY>
</HTML>