<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: WorkFlow question in ExtremeCloud IQ- Site Engine Management Center</title>
    <link>https://community.extremenetworks.com/t5/extremecloud-iq-site-engine/workflow-question/m-p/99512#M10091</link>
    <description>&lt;P&gt;I forgot to mention that you can use the Python log facility to write to STDOUT and a file. This gives you several good opportunities. in regard to real-time log inspection (tailing the file) and enabling or disabling debug logs as required.&lt;/P&gt;&lt;P&gt;Below a code example.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;import logging&lt;/P&gt;&lt;P&gt;logFile = '/tmp/'+ emc_vars['workflowName'].replace(' ', '_') +'_'+ time.strftime("%Y-%m-%d_%H-%M-%S") +'.log'&lt;/P&gt;&lt;P&gt;log &amp;nbsp;&amp;nbsp; &amp;nbsp; = None&lt;/P&gt;&lt;P&gt;########################################################################&lt;/P&gt;&lt;P&gt;def setupLogger():&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; global log&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; log = logging.getLogger()&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; log.setLevel( logging.DEBUG )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; screen = logging.StreamHandler()&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; screen.setLevel( logging.INFO )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; screen_formatter = logging.Formatter('%(asctime)s.%(msecs)03d %(levelname)-7s %(message)s', datefmt='%H:%M:%S')&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; screen.setFormatter( screen_formatter )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; log.addHandler( screen )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; if emc_vars['DEBUG'].lower() == 'true':&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; log.info("write LOG file " + logFile)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file = logging.FileHandler(logFile, mode='a', encoding='utf-8')&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file.setLevel( logging.DEBUG )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; formatter = logging.Formatter('%(asctime)s &amp;nbsp;%(levelname)-7s [%(filename)s:%(lineno)d] %(message)s')&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file.setFormatter( formatter )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; log.addHandler( file )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;########################################################################&lt;/P&gt;&lt;P&gt;def main():&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; setupLogger()&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; log.info("Hello World!")&lt;/P&gt;&lt;P&gt;########################################################################&lt;/P&gt;&lt;P&gt;main()&lt;/P&gt;</description>
    <pubDate>Sat, 02 Mar 2024 08:59:19 GMT</pubDate>
    <dc:creator>Markus_Nikulski</dc:creator>
    <dc:date>2024-03-02T08:59:19Z</dc:date>
    <item>
      <title>WorkFlow question</title>
      <link>https://community.extremenetworks.com/t5/extremecloud-iq-site-engine/workflow-question/m-p/99473#M10088</link>
      <description>&lt;P&gt;I have a couple of workflows that take time to run (one is about a minute, the other is a few minutes). Is there some way I can have an update showing on the screen to say it still running? Both of these workflows traverse all the switches, so switch IP's would be one possibility.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Feb 2024 22:40:38 GMT</pubDate>
      <guid>https://community.extremenetworks.com/t5/extremecloud-iq-site-engine/workflow-question/m-p/99473#M10088</guid>
      <dc:creator>XTRMUser</dc:creator>
      <dc:date>2024-02-28T22:40:38Z</dc:date>
    </item>
    <item>
      <title>Re: WorkFlow question</title>
      <link>https://community.extremenetworks.com/t5/extremecloud-iq-site-engine/workflow-question/m-p/99486#M10089</link>
      <description>&lt;P&gt;use the Workflow Dashboard, please. You will be able to see if a workflow is running or witch which results in they ended. But you will not see any activity details during runtime.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Markus_Nikulski_0-1709224353380.png" style="width: 580px;"&gt;&lt;img src="https://community.extremenetworks.com/t5/image/serverpage/image-id/7022i3314B275EE5263CD/image-dimensions/580x354?v=v2" width="580" height="354" role="button" title="Markus_Nikulski_0-1709224353380.png" alt="Markus_Nikulski_0-1709224353380.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Feb 2024 16:33:46 GMT</pubDate>
      <guid>https://community.extremenetworks.com/t5/extremecloud-iq-site-engine/workflow-question/m-p/99486#M10089</guid>
      <dc:creator>Markus_Nikulski</dc:creator>
      <dc:date>2024-02-29T16:33:46Z</dc:date>
    </item>
    <item>
      <title>Re: WorkFlow question</title>
      <link>https://community.extremenetworks.com/t5/extremecloud-iq-site-engine/workflow-question/m-p/99496#M10090</link>
      <description>&lt;P&gt;Thanks for this. I was thinking this would be the solution, but hoping for better.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 01 Mar 2024 14:29:50 GMT</pubDate>
      <guid>https://community.extremenetworks.com/t5/extremecloud-iq-site-engine/workflow-question/m-p/99496#M10090</guid>
      <dc:creator>XTRMUser</dc:creator>
      <dc:date>2024-03-01T14:29:50Z</dc:date>
    </item>
    <item>
      <title>Re: WorkFlow question</title>
      <link>https://community.extremenetworks.com/t5/extremecloud-iq-site-engine/workflow-question/m-p/99512#M10091</link>
      <description>&lt;P&gt;I forgot to mention that you can use the Python log facility to write to STDOUT and a file. This gives you several good opportunities. in regard to real-time log inspection (tailing the file) and enabling or disabling debug logs as required.&lt;/P&gt;&lt;P&gt;Below a code example.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;import logging&lt;/P&gt;&lt;P&gt;logFile = '/tmp/'+ emc_vars['workflowName'].replace(' ', '_') +'_'+ time.strftime("%Y-%m-%d_%H-%M-%S") +'.log'&lt;/P&gt;&lt;P&gt;log &amp;nbsp;&amp;nbsp; &amp;nbsp; = None&lt;/P&gt;&lt;P&gt;########################################################################&lt;/P&gt;&lt;P&gt;def setupLogger():&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; global log&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; log = logging.getLogger()&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; log.setLevel( logging.DEBUG )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; screen = logging.StreamHandler()&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; screen.setLevel( logging.INFO )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; screen_formatter = logging.Formatter('%(asctime)s.%(msecs)03d %(levelname)-7s %(message)s', datefmt='%H:%M:%S')&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; screen.setFormatter( screen_formatter )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; log.addHandler( screen )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; if emc_vars['DEBUG'].lower() == 'true':&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; log.info("write LOG file " + logFile)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file = logging.FileHandler(logFile, mode='a', encoding='utf-8')&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file.setLevel( logging.DEBUG )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; formatter = logging.Formatter('%(asctime)s &amp;nbsp;%(levelname)-7s [%(filename)s:%(lineno)d] %(message)s')&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file.setFormatter( formatter )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; log.addHandler( file )&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;########################################################################&lt;/P&gt;&lt;P&gt;def main():&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; setupLogger()&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; log.info("Hello World!")&lt;/P&gt;&lt;P&gt;########################################################################&lt;/P&gt;&lt;P&gt;main()&lt;/P&gt;</description>
      <pubDate>Sat, 02 Mar 2024 08:59:19 GMT</pubDate>
      <guid>https://community.extremenetworks.com/t5/extremecloud-iq-site-engine/workflow-question/m-p/99512#M10091</guid>
      <dc:creator>Markus_Nikulski</dc:creator>
      <dc:date>2024-03-02T08:59:19Z</dc:date>
    </item>
    <item>
      <title>Re: WorkFlow question</title>
      <link>https://community.extremenetworks.com/t5/extremecloud-iq-site-engine/workflow-question/m-p/99552#M10099</link>
      <description>&lt;P&gt;Thanks. I'll look into this as well.&lt;/P&gt;</description>
      <pubDate>Tue, 05 Mar 2024 15:09:38 GMT</pubDate>
      <guid>https://community.extremenetworks.com/t5/extremecloud-iq-site-engine/workflow-question/m-p/99552#M10099</guid>
      <dc:creator>XTRMUser</dc:creator>
      <dc:date>2024-03-05T15:09:38Z</dc:date>
    </item>
  </channel>
</rss>

