--- vlogger.orig	2011-10-31 16:07:04.000000000 +0200
+++ vlogger	2011-10-31 16:11:18.000000000 +0200
@@ -319,11 +319,12 @@
 
 # pick a mode
 if ( $OPTS{'e'} ) {
-
+    my $logtime;
     $0 = "vlogger (error log)";
     # errorlog mode
+    $logtime=time();
     open ELOG, ">>" . time2str( $TEMPLATE, time() )
-      or die ( "can't open $LOGDIR/" . time2str( $TEMPLATE, time() ) );
+      or die ( "can't open $LOGDIR/" . time2str( $TEMPLATE, $logtime ) );
 
     unless ( $OPTS{'a'} ) {
         ELOG->autoflush(1);
@@ -332,14 +333,14 @@
         if ( -l $OPTS{'s'} ) {
             unlink( $OPTS{'s'} );
         }
-        symlink( time2str( $TEMPLATE, time() ), $OPTS{'s'} );
+        symlink( time2str( $TEMPLATE, $logtime ), $OPTS{'s'} );
     }
 
     my $LASTWRITE = time();
 
     while ( my $log_line = <STDIN> ) {
         unless ( $OPTS{'n'} ) {
-            if ( time2str( "%Y%m%d", time() ) >
+            if ( time2str( "%Y%m%d", $logtime ) >
                 time2str( "%Y%m%d", $LASTWRITE ) )
             {
 
@@ -409,7 +410,7 @@
 
         # open a new log
         if ( !$logs{$vhost} ) {
-
+            my $logtime;
             # check how many files we have open, close the oldest one
             if ( keys(%logs) > $MAXFILES ) {
                 my ( $key, $value ) =
@@ -424,9 +425,10 @@
             }
 
             # open the file using the template
+            $logtime=time();
             open $vhost, ">>${vhost}/" . time2str( $TEMPLATE, time() )
               or die ( "can't open $LOGDIR/${vhost}/"
-                . time2str( $TEMPLATE, time() ) );
+                . time2str( $TEMPLATE, $logtime ) );
 
             # autoflush the handle unless -a
             if ( !$OPTS{'a'} ) {
@@ -439,7 +441,7 @@
                 if ( -l $OPTS{'s'} ) {
                     unlink( $OPTS{'s'} );
                 }
-                symlink( time2str( $TEMPLATE, time() ), $OPTS{'s'} );
+                symlink( time2str( $TEMPLATE, $logtime ), $OPTS{'s'} );
                 chdir("..");
             }
         }
@@ -485,13 +487,15 @@
 
 # sub to open new errorlog
 sub open_errorlog {
-    open ELOG, ">>" . time2str( $TEMPLATE, time() )
+    my $logtime;
+    $logtime=time();
+    open ELOG, ">>" . time2str( $TEMPLATE, $logtime )
       or die ( "can't open $LOGDIR/" . time2str( $TEMPLATE, time() ) );
     if ( $OPTS{'s'} ) {
         if ( -l $OPTS{'s'} ) {
             unlink( $OPTS{'s'} );
         }
-        symlink( time2str( $TEMPLATE, time() ), $OPTS{'s'} );
+        symlink( time2str( $TEMPLATE, $logtime ), $OPTS{'s'} );
     }
 
     # autoflush it unless -a
