try these changes, note I didnt do all of the lines as you can do that.
This will show one way you can make it log and show in the @window
Code:
on *:start: { window @logger | aline @logger Session Start $fulldate | write $+($logdir,$asctime(m.d.yyyy.),server.log) Session ID $ctime }
on *:join:#: aline @logger $timestamp $nick $address($nick,3) joins $chan $network 
on *:part:#: aline @logger $timestamp $nick $address($nick,3) parted $chan $network 

on *:quit:{ aline @logger $timestamp $nick $address($nick,3) quit $chan $network }

on *:kick:#:{ write $+($logdir,$asctime(m.d.yyyy.),server.log) $timestamp $nick Kicked $knick from $chan ( $network ) $1-  | aline @logger $timestamp $nick Kicked $knick from $chan ( $network ) $1-
on *:text:#:{ write $+($logdir,$asctime(m.d.yyyy.),server.log) $timestamp $chan $nick $1- | aline @logger $timestamp $chan $nick $1- }
on *:input:#:{ write $+($logdir,$asctime(m.d.yyyy.),server.log) $timestamp $chan $nick $1- | aline @logger $timestamp $chan $nick $1- }


Remove this line so it doesn't double the data in the log:
on *:close:@: if ($target == @logger) { savebuf -a @logger $+($logdir,$asctime(m.d.yyyy.),server.log) }