<?xml version="1.0" encoding="UTF-8" ?>
<configuration>

  
  <!-- Appenders -->
  
  <!-- Logs messages to windows debug output stream (can be viewed by "dbgview")-->
  <appender name="debug" class="JetBrains.Util.Logging.DebugOutputLogEventListener"/>

  
<!--  !!! EDIT AND UNCOMMENT TO ACTIVATE APPENDERS AND LOGGERS !!! -->
  
  
<!--  Logs messages to a file. Special substitution parameters in filename are-->
<!--  {pname} - process name, {pid} - process id, {temp} - temporary directory, {date} - current date in lexicographical way-->
    
  <appender name="file" class="JetBrains.Util.Logging.FileLogEventListener" pattern="%d{HH:mm:ss.fff}|%10t|%l|%-30c{1}|%M%n">
    <arg>{temp}\JetLogs\JetBrainsLogs.ExternalLauncherProfiler.{date}.{pid}.log</arg>
  </appender>
  

  
<!--    You can use "pattern" attribute to format log messages. Parameters are substituted-->
<!--    instead of "<percent-sign><character>" substrings. For example log level-->
<!--    will be substituted instead of "%L", message instead of "%M".-->
<!--  -->
<!--    Characters after % and their roles:            -->
<!--      'd'] Date. Accepts optional int parameter in curly braces. For example, %d{hh:mm:ss}. -->
<!--      'm'] Original message-->
<!--      'M'] Message (includes exception with stack trace if present)-->
<!--      'e'] Short exception      -->
<!--      'E'] Long exception      -->
<!--      'n'] New line-->
<!--      'L'] Level -->
<!--      'l'] Level's first character -->
<!--      'c'] Category (i.e. namespace). Accepts optional int parameter in curly braces. For example, if we log event with category "A.B.C.D" and format "%c{2}", only "C.D" will be logged.      -->
<!--      't'] Thread id-->
<!--      'T'] Thread name-->
<!--      'p'] PID-->
<!--      'P'] Process name-->
<!--      -->
<!--    Also, you can specify <minWidth>.<maxWidth> for substituted parameters (in chars). If substituted value-->
<!--    is less than <minWidth>, text is justified right. For left justification specify "-" sign before <minWidth>.-->
<!--    For example, "%-5.20c" means: print category with 5 chars min (if category is shorter, justify left) and 20 chars max.-->
<!--  -->
  
  
<!--  <appender name="fileX" class="JetBrains.Util.Logging.FileLogEventListener" pattern="%19d{yyyy-MM-dd hh:mm:ss.fff} %-70c{5} %-10l %M%n">-->
<!--    <arg>c:\logs\fileX.log</arg>-->
<!--  </appender>-->
  

  
  
  

<!--  Root logger. All messages with level VERBOSE or less (CRITICAL, ERROR, WARN, INFO, VERBOSE) will be logged (TRACE messages won't be logged)-->
  <root level="TRACE">
<!--    Reference to zero ore more appenders declared above-->
    <appender-ref>debug</appender-ref>
    <appender-ref>file</appender-ref>
  </root>

  
  
<!--  Allows TRACE messages for logger with category "JetBrains.*". Appenders are inherited from "root". -->
<!--  Reference to appender fileX in addition to "debug" and "file" is given. -->

<!--  <logger name="JetBrains" level="TRACE">-->
<!--    <appender-ref>fileX</appender-ref>-->
<!--  </logger>-->


  
<!--  Disable all messages for logger with category "JetBrains.Platform.Util.*". -->
  
<!--  <logger name="JetBrains.Platform.Util" level="OFF">    -->
<!--  </logger>-->


  
<!--  For tracing data flow in specified IProperty. In the given example property "Caches.IsIdle" is beeing traced.-->
<!--  Specify namespace "Property.<PropertyName>" with level "TRACE" to see dataflow of the property. Appenders are inherited from parent(root).-->
  
<!--  <logger name="Property.Caches.IsIdle" level="TRACE">-->
<!--  </logger>-->



  
<!--   For tracing IProperty creation.  Attribute additivity="false" is given-->
<!--   that disables "appender-ref" inheritance from parent("JetBrains"); logger can declare its own "appender-refs" here from scratch. -->
<!--   Reference to appender "fileX" is given. Appenders "debug" and "file" are not inherited from parent, so the only appender for this logger is "fileX". -->

<!--  <logger name="JetBrains.DataFlow" level="TRACE" additivity="false">-->
<!--    <appender-ref>fileX</appender-ref>-->
<!--  </logger>-->





</configuration>
