home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-2 / Inter.Net 55-2.iso / Mandrake / mdkinst / usr / bin / perl-install / log.pm < prev    next >
Encoding:
Perl POD Document  |  2000-01-12  |  887 b   |  59 lines

  1. package log;
  2.  
  3.  
  4.  
  5. use c;
  6.  
  7.  
  8.  
  9.  
  10.  
  11. my $logOpen = 0;
  12. my $logDebugMessages = 0;
  13.  
  14.  
  15.  
  16.  
  17.  
  18. sub F() { *LOG }
  19.  
  20. sub l {
  21.     $logOpen or openLog();
  22.     if ($::isStandalone) {
  23.     c::syslog(join "", @_);
  24.     } else {
  25.     print LOG "* ", @_, "\n";
  26.     print LOG2 "* ", @_, "\n";
  27.     }
  28. }
  29. sub ld { $logDebugMessages and &l }
  30. sub w { &l }
  31.  
  32. sub openLog(;$) {
  33.     if ($::isStandalone) {
  34.     c::openlog("DrakX");
  35.     } else {
  36.     if ($_[0]) { 
  37.         open LOG, "> $_[0]";# or die "no log possible :(";
  38.     } else {
  39.         open LOG, "> /dev/tty3" or open LOG, ">> /tmp/install.log";# or die "no log possible :(";
  40.     }
  41.     open LOG2, ">> /tmp/ddebug.log";# or die "no log possible :(";
  42.     select((select(LOG),  $| = 1)[0]);
  43.     select((select(LOG2), $| = 1)[0]);
  44.     }
  45.     exists $ENV{DEBUG} and $logDebugMessages = 1;
  46.     $logOpen = 1;
  47. }
  48.  
  49. sub closeLog() { 
  50.     if ($::isStandalone) {
  51.     c::closelog();
  52.     } else { close LOG; close LOG2; }
  53. }
  54.  
  55.  
  56.  
  57.  
  58. 1;
  59.