support: Customer Portal
Focused on delivering choice, investment protection and flexibility to organizations with valuable COBOL assets

Veryant Knowledge Base
Home > All Categories > isCOBOL General > How do I turn on debug trace to produce a log file?
Question Title How do I turn on debug trace to produce a log file?

Is there a runtime trace log feature? How do I turn it on? What configuration options are available?
If I have multiple processes running, is there any way to distinguish which log file output goes to, or does all output go to the same log file?


To produce a trace log, set iscobol.tracelevel to a non-zero value. With the default value of 0, the system does not create a log since it would be empty. 

The following are some useful settings:

iscobol.tracelevel=3 includes config settings and program starts and ends. 
iscobol.tracelevel=7 includes config, program starts/ends, and paragraph starts/ends
iscobol.tracelevel=11 includes config, program starts/ends and file i/o (i.e. everything except for paragraph starts/ends)
iscobol.tracelevel=15 is the maximum trace setting. This includes config, program and paragraph starts/ends, and file i/o.

Set iscobol.logfile to a file of your choice.

The isCOBOL framework uses the java.util.logger package, and there are many configuration options. 

For example, you can specify "%h" in the iscobol.logfile and it will be replaced by the user's home directory.

You can specify a "%u" in the iscobol.logfile and it will be replaced with a unique number at runtime to resolve conflicts.

The %u is replaced by a unique number, 0, 1, 2, .... The logic to determine the unique number is to use the lowest number that is not in current use by a process. The log files are "locked" by creating a ".lck" file, and are unlocked by deleting that ".lck" file. So if the filename is fred%u.log and fred0.log.lck exists, the process will create fred1.log (and fred1.log.lck). If fred0.log.lck does not exist then the process will overwrite fred0.log. It does not get appended to.

(The javadoc for FileHandler says "If the FileHandler tries to open the filename and finds the file is currently in use by another process it will increment the unique number field and try again. This will be repeated until FileHandler finds a file name that is not currently in use")

See for other pattern components and logging properties. 

On UNIX/Linux to include a process ID in the log filename, create a shell script and use $$ to substitute the process id of the current shell. For example, to create a log file named myapp followed by an underscore and the process id of the shell, specify "-Discobol.logfile=myapp_$$.log" on your java command line.

Note that these log files will accumulate until they are deleted or until the process id wraps around.

If you do not set iscobol.logfile then the trace log will be written to $ISCOBOL/bin/isrun.log where $ISCOBOL is the isCOBOL installation directory.

The iscobol.logfile value should not be enclosed in double-quotes, even if there are embedded spaces in the path. On Windows, you can use forward slashes or double-backslashes. For example, any of the following will work:
iscobol.logfile=C:\\parent dir\\sub dir\\myapp.log
iscobol.logfile=C:/parent dir/sub dir/myapp.log
iscobol.logfile=/parent dir/sub dir/myapp.log
Authored by: Veryant Support This question has been viewed 7732 times so far.
Click Here to View all the questions in isCOBOL General category.
File Attachments File Attachments
There are no attachment file(s) related to this question.
How helpful was this article to you?
User Comments User Comments Add Comment
There are no user comments for this question. Be the first to post a comment. Click Here
Related Questions Related Questions
  1. How do I compile for compatibility with older versions of Java?
  2. When can I get the " Permission denied:connect" message? And how can it be avoided?
  3. How do I migrate indexed files to a format that is supported by isCOBOL?
  4. How do I resolve "code too large for try statement" errors?
  5. How do I prevent hackers from decompiling Java class files to reverse engineer my COBOL application?
  6. What Micro Focus library routines are supported?
  7. How can I read an Excel spreadsheet from COBOL?
  8. Do I need to worry about the compile warning "Note: uses unchecked or unsafe operations?"
  9. Does SET ADDRESS OF X TO Y work?
  10. How do I create a desktop shortcut icon to launch my program?
  11. What tools are available for automated functional (regression) testing of a COBOL application?
  12. Is there currently a way to debug COBOL and Java source together?
  13. Where can I obtain a copy of the ANSI 2002 COBOL standard?
  14. How do I set up isCOBOL to access Vision files?
  15. How do I resolve a compile error on PIC X(2) USAGE COMP-5?
  16. How do I increase the maximum Java heap size when compiling?
  17. How can I package my application and execute it in a JAR file?
  18. Should I use JISAM or isCOBOL ISAM Server (c-treeACE)?
  19. What is the best way to control Microsoft Word?
  20. How would I create my own CBL_ALLOC_MEM and CBL_FREE_MEM routines?
  21. How can I use the F10 key in my application without it changing the keyboard focus?
  22. What is the recommended method for specifying isCOBOL framework properties?
  23. Why do I get a compile error "--S: Invalid open mode" on an OPEN I-O of an ORGANIZATION LINE SEQUENTIAL file?
  24. Where can I find more information on A$ENCRYPT and A$DECRYPT?
  25. Does isCOBOL work with Flexus COBOL sp2?
  26. How do I get my screens to be the same size and spacing as when I run with ACUCOBOL?
  27. How do I change the icon in the upper left corner of the Window?
  28. How do I use conditional compilation?
  29. What is the behavior difference of STOP THREAD?
  30. How do I select 11x17 paper size using WIN$PRINTER?
  31. What are the defaults for the DATE-ENTRY control DISPLAY-FORMAT property and format styles?
  32. How do I specify properties or a properties file on the command line?
  33. How does a program detect at runtime whether it is running standalone GUI, thin client or with Web Direct 2.0?
  34. What are the key technical advantages of isCOBOL?
  35. How would I create my own CBL_CHECK_FILE_EXIST routine?
  36. Why do I get the error message "Native call not found" and how do I fix the problem?
  37. Does isCOBOL run on Linux on System z?
  38. Sending SMTP mail
  39. Where can I learn more about Classpath, the Java class loader, JDK tools and utilities?
  40. Can Veryant recommend a good Web site to find 3rd party JavaBeans?
  41. How do I compile fixed (ANSI) format source that COPYs terminal format source or vice versa?
  42. Why do I get the error java.lang.NoClassDefFoundError: com/iscobol/rts_n/StopRunException?
  43. What compile option should I use for ICOBOL compatibility?
  44. Is the isCOBOL 2009 SP1 release intended to deploy mainframe applications over the cloud? Or is it an integration mechanism for bringing in cloud data and apps?
  45. What algorithm does isCOBOL use to load framework properties (runtime config variables)?
  46. Can isCOBOL access a DLL or .so that is in a JAR file?
  47. How can I make my isCOBOL program to be called instead of a C routine when both have the same name?
  48. Is there any equivalent to COPY RESOURCE?
  49. Can I use directory paths in CALL names?
  50. How do I set iscobol.file.index.FileName with variable file name assignments?
  51. How do I specify which file status codes I want to use?
  52. How do I write my own replacement for a C$ library routine?
  53. How do I print to a spooler in Unix?
  54. What is the easiest and/or best way to convert a legacy text-based user interface to a web front end?
  55. Does isCOBOL APS run on z/OS?
  56. How do I configure file locations with environment variables?
  57. What should I use for USAGE HANDLE items instead of NULL?
  58. Is your runtime library backward compatible?
  59. Is isCOBOL backward compatible?
  60. Can you derive isCOBOL object classes from Java and vice versa?
  61. How can I tell what changes were made in the isCOBOL latest update?
  62. How do I get more information when I get java.lang.reflect.InvocationTargetException?
  63. Is there any way to use isCOBOL with SCO 5.0.6 (JDK 1.3)?
  64. I've heard there is a problem passing pointers to C functions. What is it?
  65. What is the best way to profile an isCOBOL program?
  66. Does isCOBOL support C$REDIRECT?
  67. Can the file system (iscobol.file.index) be set programmatically?
  68. Is there a way to have single set of source code that will compile with both ACUCOBOL and isCOBOL?
  69. Does isCOBOL support Crystal Reports or other Report Writers?
  70. How do I suppress multiple reserved words with the -rw compiler option?
  71. How do I determine what properties are set?
  72. How can I monitor a jvm started on a remote computer box?
  73. Why do I get the error message “java.lang.UnsatisfiedLinkError: no ### in java.library.path?
  74. Why do I get the error message "java.lang.ArrayIndexOutOfBoundsException" ?
  75. How can I avoid the "java.lang.OutOfMemoryError: PermGen space" error?
  76. How can I avoid, in execution, the "java.lang.OutOfMemoryError: Java heap space" error?
  77. What does mean the error NO X11 DISPLAY?
  78. Can I call an RMCobol program passing parameters to it?
  79. I still get the error : "Missing License: The license key is missing, invalid or has expired!" I can't figure out why
  80. Why do I get the error message "java.lang.NullPointerException" ?
  81. How do I resolve the error "java.lang.NoClassDefFoundError" or "java.lang.ClassNotFoundException"?
  82. Why do I get the error "Could not load the main class" ?
  83. Is there any way to direct the output from the “Print Screen” keyboard key directly to a printer?
  84. Did you know how to write custom information inside isCOBOL log file?
  85. Did you know you could set properties to configure the PDF'S generation while printing?
  86. Did you know that in a string you can replace a text with a new one with a different length by using the C$REPLACE_ALL routine?
  87. Did you know you can encrypt the communication with the isCOBOL Server?
  88. GIT Server (Linux) - Install and Configuration
Article Information Additional Information
Article Number: 58
Created: 2009-08-31 6:01 PM
Rating: 1 Star
Article Options Article Options
Print Question Print this Question
Email Question Email Question to Friend
Export to Adobe PDF Export to PDF File
Export to MS Word Export to MS Word
Bookmark Article
Subscribe to Article Subscribe to Article
Search Knowledge Base Search Knowledge Base


© Veryant - All Rights Reserved
Veryant and isCOBOL are trademarks or registered marks of Veryant in the United States and other countries. All other marks are the property of their respective owners.