Send text output of scripts and batchfiles to network with a free open source command line tool for Windows, Mac OS X and Linux.

sfk tolog [-help]
sfk tonetlog [server[:port]]|[port]

Send text output of a command to terminal, and/or append
it to a log file, and/or send it to a network text viewer.
The log target(s) can be specified in the following ways:

1. by defining an environment variable:

   set SFK_LOGTO=net[:hostname[:port][,raw]
   set SFK_LOGTO=file:mylog.txt
   set SFK_LOGTO=term

   where targets can be combined like:

   set SFK_LOGTO=term,file:log.txt,net,duplex

2. by using tonetlog to force sending by network.
   in that case, a hostname and port can be specified
   as parameters. the default is to send to localhost.

If no log target is specified all text goes to terminal.

A recommended GUI tool to view and filter network text
is Depeche View. Type sfk getdv to download, then run
the tool by dview -net for instant net text display.
It runs with Windows, and on Linux/Mac using WINE.

parameters   (with tonetlog only)
   server    IP or name of target machine to send text to.
   port      target port, default is 21323 (SFK UDP Text).
             you may also type a port without "server:".

options
   -h[elp]   print this help text (same as "sfk netlog").
   -duplex   request a reply for each message sent.
             much slower, but it is made sure that the
             receiver actually receives all text, which
             is not sure without -duplex.
   -timeout=n  with -duplex: time to wait for a reply.
               default is 1000 msec.
   -delay=n  if not using -duplex then wait so many msec
             after each message sent (default is 10).
             delay is required with longer text as
             receiver may fail to cache all messages.
   -raw      send raw UDP text without sfktxt header.
             cannot be combined with -duplex.
   -toiso[=c]  converts utf8 to iso-8859-1
             with default character c for non-8bit codes.
   -nolf     do not append LF after single line text.
   -usecr    append CR instead of LF after single line text.
   -clear    clear target log. cannot be used with -raw.
   -verbose  tell log target if taken from environment.
   -recsize=n UDP max message size, default is 1000 bytes.

SFK_LOGTO accepted fields
   term,file,net,raw,duplex,timeout,delay,toiso,nolf

Send And Forget versus Duplex Transfer
   By default, SFK netlog sends text without checking
   if it arrives at receiver. This is the way that
   plain UDP works, and it makes sense for scripts
   that shall NOT slow down or even stop just because
   the receiver is too slow, or not present at all.
   However, it is NOT guaranteed that all text arrives
   in complete, or in the same order as sent.
   If text is lost you may increment the -delay, or use
   the -duplex option. With duplex, however,
   non listening or slow receivers will cause delays
   and error messages and may stop command execution.

Working process example: remote compile scripts
   Type "sfk netlog -full" for example scripts how to run
   batch files on remote machines and view their output.

see also
   sfk fromnet -help   - print incoming network text
   sfk udpsend         - send UDP text and binary messages
   sfk udpdump         - print incoming raw UDP messages
   sfk append          - append text output to a file
   sfk echo            - for the list of possible colors
   sfk view            - more about the text viewer program
   sfk samp cppnetlog  - sample C++  code for sending text
   sfk samp javanetlog - sample Java code for sending text

web reference
   http://stahlworks.com/sfk-netlog

examples
   sfk echo "[Red]foo[def] and [Blue]bar[def]" +tonetlog
     sends colored text to a viewer on the same machine.
     Red with big 'R' sends bright color, 'r'ed sends dark.
     Type sfk getdv then dview -net to download
     and run the Depeche View network text viewer tool.

   dir | sfk tonetlog 192.168.1.100
     send output of a folder listing to machine .100

   set SFK_LOGTO=term,net:192.168.1.100
   cl mysrc.c 2>&1 | sfk tolog
     sends output of a command "gcc" as UDP text both
     to terminal and to a text viewer running on .100

   set SFK_LOGTO=term,net,duplex,timeout:3000
   cl mysrc.c 2>&1 | sfk tolog
     similar to above, but sends output to a viewer on the
     local machine, asking for receipts within 3 seconds.

   set SFK_LOGTO=file:log1.txt,net:192.168.1.30:5000,raw
   sfk list mydir +tolog
     append filename list of folder mydir to log1.txt and
     send it as raw network text to machine .30 port 5000.

   dview -net:3000,ip
     runs dview on port 3000 with sender ip display.

   sfk tail -f mylog.txt +tonetlog .229:3000 +loop
     whenever mylog.txt changes, send changed text lines
     to a machine ending with .229 in the same subnet
     on port 3000.
 

source code examples
Send network text in C++
Send network text in Java