Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
util:jsexec [2020/11/13 19:54] – [Command Line] update to latest usage output digital manutil:jsexec [2022/03/06 15:19] (current) – [Module] Add Log Level section digital man
Line 16: Line 16:
  
 <file> <file>
-usage: jsexec [-opts] [path]module[.js] [args]+usage: jsexec [-opts] [[path/]module[.js] [args] 
 +   or: jsexec [-opts] -r js-expression [args] 
 +   or: jsexec -v
  
 available opts: available opts:
  
 +    -r<expression> run (compile and execute) JavaScript expression
     -c<ctrl_dir>   specify path to Synchronet CTRL directory     -c<ctrl_dir>   specify path to Synchronet CTRL directory
     -C             do not change the current working directory (to CTRL dir)     -C             do not change the current working directory (to CTRL dir)
     -d             run in background (daemonize)     -d             run in background (daemonize)
-    -m<bytes>      set maximum heap size (default=8388608 bytes) +    -m<bytes>      set maximum heap size (default=16777216 bytes)
-    -s<bytes>      set context stack size (default=16384 bytes)+
     -t<limit>      set time limit (default=864000, 0=unlimited)     -t<limit>      set time limit (default=864000, 0=unlimited)
     -y<interval>   set yield interval (default=10000, 0=never)     -y<interval>   set yield interval (default=10000, 0=never)
Line 35: Line 37:
     -f             use non-buffered stream for console messages     -f             use non-buffered stream for console messages
     -a             append instead of overwriting message output files     -a             append instead of overwriting message output files
-    -A             send all message to stdout +    -A             send all messages to stdout 
-    -A<filename>   send all message to file instead of stdout/stderr+    -A<filename>   send all messages to file instead of stdout/stderr
     -e<filename>   send error messages to file in addition to stderr     -e<filename>   send error messages to file in addition to stderr
     -o<filename>   send console messages to file instead of stdout     -o<filename>   send console messages to file instead of stdout
Line 48: Line 50:
     -p             wait for keypress (pause) on exit     -p             wait for keypress (pause) on exit
     -!             wait for keypress (pause) on error     -!             wait for keypress (pause) on error
-    -D             debugs the script+    -D             load the script into an interactive debugger
 </file> </file>
  
Line 56: Line 58:
 **Note:** **Note:**
 When JSexec starts up, it changes its **current working directory** to the Synchronet ''[[dir:ctrl]]'' directory. If you pass filenames on the command-line to a module, the paths must be full/absolute paths or relative to the Synchronet ''[[dir:ctrl]]'' directory. When JSexec starts up, it changes its **current working directory** to the Synchronet ''[[dir:ctrl]]'' directory. If you pass filenames on the command-line to a module, the paths must be full/absolute paths or relative to the Synchronet ''[[dir:ctrl]]'' directory.
 +
 +==== Log Level ==== 
 +
 +The log severity/output verbosity level can be controlled via the ''[[dir:ctrl]]/[[config:jsexec.ini]]'' file or specified using the ''-L'' command-line option. The value following ''-L'' can either be the numeric log level (''7'' being the lowest-severity / most verbose output) or a [[http://wiki.synchro.net/config:ini_files#enumerated_values|word]] describing the log level (e.g. ''-Ldebug'' for debug-level logput).
 ===== Additional Properties ===== ===== Additional Properties =====
  
Line 93: Line 99:
 JSexec includes an instance of a special User Interface class called ''uifc''. JSexec includes an instance of a special User Interface class called ''uifc''.
  
-FIXME+See the [[ref:UIFC]] reference page for more details.
  
 ===== shebang ===== ===== shebang =====
Line 104: Line 110:
 This allows JSexec scripts to be executed easily via [[:howto:apache|CGI]] as well as other command-line conveniences on Unix-like operating systems. This allows JSexec scripts to be executed easily via [[:howto:apache|CGI]] as well as other command-line conveniences on Unix-like operating systems.
  
 +===== Output =====
 +
 +JSexec supports multiple output methods and streams:
 +
 +  - **Error** (default stream: ''stderr'')\\ JS ''log()'' messages with log-levels of ''LOG_ERR'' or lower
 +  - **Status** (default stream: ''stderr'')\\ JS ''log()'' messages with log-levels higher than ''LOG_ERR''\\ JSexec startup/compile/shutdown progress messages
 +  - **Console** (default stream: ''stdout'')\\ JS ''write()'' ''writeln()'' ''printf()'' ''alert()'' and ''prompt()'' messages
 +
 +==== syslog ====
 +
 +When JSexec is executed on *nix operating systems with the ''-d'' (Daemonize) option, all JS ''log()'' messages are directed to ''syslog''.
 +
 +==== Suppression ====
 +  * **Status** output is suppressed by default when JSexec is run without a controlling TTY. This behavior can be overridden with the ''-A'' and ''-S'' command-line options.
 +  * **Status** output can be manually suppressed with the ''-n'' (Null) command-line option.
 +  * **Console** output can be suppressed with the ''-q'' (Quiet) command-line option. 
 +
 +==== Redirection ====
 +  * The output streams may be redirected to specific filenames via command-line options.
 +  * **Error** output can be forked to both ''stderr'' and a specified filename via the ''-e'' command-line option.
 ===== See Also ===== ===== See Also =====
   * [[custom:javascript|JavaScript]]   * [[custom:javascript|JavaScript]]