home *** CD-ROM | disk | FTP | other *** search
/ ftp.madoka.org / 2014.12.ftp.madoka.org.tar / ftp.madoka.org / pub / plum / 2.x / plum2_15_2.lzh / module / log / client.plm < prev    next >
Text File  |  1997-11-16  |  3KB  |  103 lines

  1. # <!-- -*- perl -*-
  2. # $Id: client.plm,v 2.1 1997/11/17 00:11:32 hasegawa Exp $
  3. # copyright (c)1997 pupu_j <hasegawa@agusa.nuie.nagoya-u.ac.jp>
  4.  
  5. package log_client;
  6.  
  7. $DIRECTORY = '.';
  8. $FILE = 'logclient';
  9. $HEADER = '%H:%M';
  10. $MODE = umask() ^ 0666;
  11.  
  12. $_ = 'log_client';
  13.  
  14. sub client_read {
  15.   local($clientno, $line) = @_;
  16.   &writelog($'userno[$clientno], $line);
  17.   return ($line);
  18. }
  19.  
  20. sub writelog {
  21.   local($userno, $line) = @_;
  22.   local($file, $directory, $name, $header, $mode);
  23.   $file = &'property($userno, 'file');
  24.   $file = $FILE unless defined($file);
  25.   $file = &'expand($file);
  26.   if ($file =~ /^\//) {
  27.     $name = $file;
  28.   } else {
  29.     $directory = &'property($userno, 'directory');
  30.     $directory = $DIRECTORY unless defined($directory);
  31.     $directory = &'expand($directory);
  32.     $directory .= '/' unless $directory =~ /\/$/;
  33.     $name = $directory . $file;
  34.   }
  35.   $name = &'date($name);
  36.   $header = &'property($userno, 'header');
  37.   $header = $HEADER unless defined($header);
  38.   $header = &'date($header);
  39.   if (!-w $name) {
  40.     if (!-f $name && open(FILE, ">$name")) {
  41.       close(FILE);
  42.     }
  43.     $mode = &'property($userno, 'mode');
  44.     if (defined($mode)) {
  45.       $mode = oct($mode) | 0200;
  46.     } else {
  47.       $mode = $MODE | 0200;
  48.     }
  49.     chmod($mode, $name) if -f $name;
  50.   }
  51.   if (open(FILE, ">>$name")) {
  52.     select((select(FILE), $| = 1)[0]);
  53.     print FILE $header, ' ', $line, "\n";
  54.     close(FILE);
  55.   }
  56. }
  57.  
  58. __END__
  59. --><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
  60. <HTML><HEAD><TITLE> log/client.plm </TITLE></HEAD><BODY>
  61.  
  62. $B%*%s%i%$%s%I%-%e%a%s%H(B
  63.  
  64.  
  65. <HR><H3> $BL>A0(B </H3>
  66.  
  67. log/client.plm - $B%/%i%$%"%s%H$+$i$NF~NO$r%m%0$H$7$FJ]B8$9$k(B
  68.  
  69.  
  70. <HR><H3> $B@bL@(B </H3>
  71.  
  72. $B%/%i%$%"%s%H$+$iF~NO$r$9$Y$F%m%0$KJ]B8$7$^$9!#(B
  73.  
  74.  
  75. <HR><H3> $B%W%m%Q%F%#(B </H3>
  76.  
  77. <DL>
  78. <DT> log.client.directory $B%G%#%l%/%H%j(B
  79. <DD>    $B%m%0$rJ]B8$9$k%G%#%l%/%H%j$r;XDj$7$^$9!#(B
  80.         $B%G%U%)%k%H$G$O%+%l%s%H%G%#%l%/%H%j$KJ]B8$7$^$9!#(B
  81. <DT> log.client.file $B%U%!%$%kL>(B
  82. <DD>    $B%m%0$N%U%!%$%kL>$r;XDj$7$^$9!#(B
  83.         %$B$G$O$8$^$kJ8;z$,$"$k$H!"BP1~$9$kF|IU$KJQ49$5$l$^$9!#(B
  84.         $B%G%U%)%k%H$G$O!V(Blogclient$B!W$H$$$&%U%!%$%k$KJ]B8$7$^$9!#(B
  85. <DT> log.client.header $B$X%C%@(B
  86. <DD>    $B%m%0$K=PNO$9$k;~9o$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B
  87.         %$B$G$O$8$^$kJ8;z$,$"$k$H!"BP1~$9$k;~4V$KJQ49$5$l$^$9!#(B
  88. <DT> log.client.mode $B%U%!%$%k%b!<%I(B
  89. <DD>    $B%m%0$N%U%!%$%k%b!<%I$r;XDj$7$^$9!#(B
  90. </DL>
  91.  
  92. <HR><H3> $B@_DjNc(B </H3>
  93.  
  94. <PRE>
  95. + log/client.plm
  96. log.client.file: client%m%d
  97. </PRE>
  98.  
  99. $B%/%i%$%"%s%H$+$i$NF~NO$r!V(Bclient%m%d$B!W$KJ]B8$7$^$9!#(B
  100. $B!V(B%m$B!W$H!V(B%d$B!W$O$=$l$>$l8=:_$N7n$HF|$KJQ49$5$l$^$9!#(B
  101.  
  102. </BODY></HTML>
  103.