<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lior Banai</title>
    <description>The latest articles on DEV Community by Lior Banai (@liorbanai).</description>
    <link>https://dev.to/liorbanai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F233456%2Faf59668b-c14b-48c1-9eba-c25d5aad3656.jpeg</url>
      <title>DEV Community: Lior Banai</title>
      <link>https://dev.to/liorbanai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/liorbanai"/>
    <language>en</language>
    <item>
      <title>Github.Updater</title>
      <dc:creator>Lior Banai</dc:creator>
      <pubDate>Fri, 06 Nov 2020 17:13:02 +0000</pubDate>
      <link>https://dev.to/liorbanai/github-updater-5dhf</link>
      <guid>https://dev.to/liorbanai/github-updater-5dhf</guid>
      <description>&lt;p&gt;Do you have open source project at GitHub but no update mechanism?&lt;/p&gt;

&lt;p&gt;I just create small application that can fetch your releases and with few steps you can download latest zip release and update your application.&lt;/p&gt;

&lt;p&gt;Check it out at &lt;a href="https://github.com/LiorBanai/Github.Updater"&gt;https://github.com/LiorBanai/Github.Updater&lt;/a&gt; &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Analogy Log Viewer - Update</title>
      <dc:creator>Lior Banai</dc:creator>
      <pubDate>Sun, 20 Sep 2020 10:51:42 +0000</pubDate>
      <link>https://dev.to/liorbanai/analogy-log-viewer-update-9dg</link>
      <guid>https://dev.to/liorbanai/analogy-log-viewer-update-9dg</guid>
      <description>&lt;h1&gt;
  
  
  &lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer"&gt;Analogy Log Viewer&lt;/a&gt; - New &amp;amp; Improved
&lt;/h1&gt;

&lt;p&gt;Hi all,&lt;br&gt;
A lot has changed from my last year post of presenting Analogy Log Viewer. &lt;/p&gt;

&lt;p&gt;The application has grown from few repositories to more than &lt;a href="https://github.com/Analogy-LogViewer/Analogy"&gt;41 repositories&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;The &lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer"&gt;new version&lt;/a&gt; (currently V4.2.8) has new features that I would like to highlight here.&lt;/p&gt;

&lt;h3&gt;
  
  
  Offline Data Providers
&lt;/h3&gt;

&lt;p&gt;First, I have added support for many known logging frameworks and formats like:&lt;br&gt;
&lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.Serilog"&gt;Serilog&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.NLog"&gt;NLog&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.JsonParser"&gt;Json Parser&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.XMLParser"&gt;XML Parser&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.RegexParser"&gt;Regular Expression Parser&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.WindowsEventLogs"&gt;Windows Event log Parser&lt;/a&gt; - Supports real time Event listening.&lt;/p&gt;

&lt;p&gt;and many special parsers such as &lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.VisualStudioLogParser"&gt;Visual Studio crash log&lt;/a&gt;, &lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.WhatsApp"&gt;Whatsapp Parser&lt;/a&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  what's really new: Real Time Streaming:
&lt;/h3&gt;

&lt;p&gt;During the last year I worked on adding Real time log streaming. Viewing logs in real time is very important to debugging and analyzing issues. For this purpose I have added &lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.gRPC"&gt;gRPC support&lt;/a&gt; and created &lt;a href="https://github.com/Analogy-LogViewer/Real-Time-Log-Server"&gt;Windows Service&lt;/a&gt; That receives all logs and shows them in real time in the application.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vXwkdOhE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wwjtgz0zozcnhu0yd8cp.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vXwkdOhE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wwjtgz0zozcnhu0yd8cp.gif" alt="Screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The idea is to stream logs from many executables and view them together in one single window with all standard features like filtering, bookmarking, exporting and saving. The Windows service also has a flag to save all the log to a log file to view later on again if needed.&lt;/p&gt;

&lt;p&gt;After creating the windows service I have added many streaming clients to Analogy Log Server: I created &lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.NLog.Targets"&gt;NLog Target&lt;/a&gt; and &lt;a href="https://github.com/Analogy-LogViewer/Analogy.LogViewer.Serilog"&gt;Serilog Sink&lt;/a&gt;&lt;br&gt;
clients that by configuring the NLOG.config and appSettings.json files you can start sending your logs the the Server/Viewer.&lt;/p&gt;

&lt;p&gt;I have also create &lt;a href="https://github.com/Analogy-LogViewer/Analogy.AspNetCore.LogProvider"&gt;AspNetCore extension&lt;/a&gt; that you can plug directly into your .Net Core App. &lt;/p&gt;

&lt;p&gt;One of the nice things about gRPC is that it has many supported  languages beside C#. With this I was able to create &lt;a href="https://github.com/Analogy-LogViewer/Analogy-Python-Logging"&gt;Python gRPC client&lt;/a&gt; and plan to add more languages later on.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools
&lt;/h3&gt;

&lt;p&gt;Beside the standard filtering are viewing logs I have added many analyzing tools: I added many types of charts and graphs like the following:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XqCiqTDr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yqrxdh2hg7dpsff3xkqw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XqCiqTDr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yqrxdh2hg7dpsff3xkqw.jpg" alt="pie"&gt;&lt;/a&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MMbKG0jy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6lzank30mtgw9uouekc7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MMbKG0jy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6lzank30mtgw9uouekc7.jpg" alt="timeline"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and even newest tool - Json Visualizer that can create tree like view of any Json object (including embedded Json in your log message):&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6mk_6MXe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/50hwb7mgwyzdac28sb2h.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6mk_6MXe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/50hwb7mgwyzdac28sb2h.jpg" alt="Json Visualizer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;I have created the log viewer at my old place, Philips Healthcare, during my off hours due to the fact that we didn't have modern, friendly Log viewer and no one took the initiative to create a replacement log viewer to the existing one.&lt;/p&gt;

&lt;p&gt;I can say with confident that my log viewer saved a lot of wasted time and frustration for the developers. We used it daily with many improvements along the way.&lt;/p&gt;

&lt;p&gt;I decided to make it open source so other developers can have modern log viewer that support common formats in the community.&lt;/p&gt;

&lt;p&gt;The application has public API to create custom log providers so if you have logs that are not common you can create your own parser and incorporate it in the application. &lt;/p&gt;

&lt;p&gt;Feel free to comment here or at &lt;a href="https://github.com/Analogy-LogViewer"&gt;Github&lt;/a&gt; or event create your own data providers for Analogy Log Viewer.&lt;/p&gt;

&lt;p&gt;Happy coding :)&lt;/p&gt;

&lt;p&gt;Lior Banai @ &lt;a href="https://github.com/LiorBanai"&gt;Github&lt;/a&gt;&lt;/p&gt;

</description>
      <category>logging</category>
      <category>serilog</category>
      <category>grpc</category>
      <category>logs</category>
    </item>
    <item>
      <title>GitHub Notifier</title>
      <dc:creator>Lior Banai</dc:creator>
      <pubDate>Tue, 02 Jun 2020 19:11:37 +0000</pubDate>
      <link>https://dev.to/liorbanai/github-notifier-kia</link>
      <guid>https://dev.to/liorbanai/github-notifier-kia</guid>
      <description>&lt;p&gt;Hi,&lt;br&gt;
I have wrote a small program for Windows that monitor GitHub repositories for common activities like Views, Open Issues, Stars/Downloads counts and user notification.&lt;/p&gt;

&lt;p&gt;This useful if you manage many repositories and want to get an overview of all the activities that's going on there.&lt;/p&gt;

&lt;p&gt;you can find at the following address:&lt;br&gt;
&lt;a href="https://github.com/LiorBanai/GitHub-Notifier"&gt;https://github.com/LiorBanai/GitHub-Notifier&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>notifications</category>
    </item>
    <item>
      <title>Analogy: Open source Log viewer</title>
      <dc:creator>Lior Banai</dc:creator>
      <pubDate>Mon, 30 Sep 2019 10:45:26 +0000</pubDate>
      <link>https://dev.to/liorbanai/analogy-open-source-log-viewer-2npf</link>
      <guid>https://dev.to/liorbanai/analogy-open-source-log-viewer-2npf</guid>
      <description>&lt;p&gt;Hi All,&lt;br&gt;
I would like to present you a new extendable Log viewer.&lt;/p&gt;

&lt;p&gt;Analogy Log Viewer is multi purpose Log Viewer for Windows Operating systems.&lt;/p&gt;

&lt;p&gt;The application has many standard operations for analysis logs (like filtering, excluding) but its strength is in the ability to add additional custom data provider by implementing few interfaces. This allows adding any logs formats and/or custom modification of logs before presenting the data in the UI Layer. Some features of this tool are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Windows event log support (evtx files)&lt;/li&gt;
&lt;li&gt;Logs aggregation into single view.&lt;/li&gt;
&lt;li&gt;Search in multiple files&lt;/li&gt;
&lt;li&gt;Combine multiple files&lt;/li&gt;
&lt;li&gt;Compare logs&lt;/li&gt;
&lt;li&gt;Themes support&lt;/li&gt;
&lt;li&gt;64 bit support (allow loading more files compare to old tool)&lt;/li&gt;
&lt;li&gt;Personalization (users settings per user)&lt;/li&gt;
&lt;li&gt;Columns extension to add more columns specific to the data provider implementation&lt;/li&gt;
&lt;li&gt;Exporting to Excel/CSV files&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you are using your own logs formats you can add those logs to the application by implementing few interfaces to read log files or to get real time logs.&lt;/p&gt;

&lt;p&gt;the repository resides at &lt;a href="https://github.com/philips-software/logviewer"&gt;https://github.com/philips-software/logviewer&lt;/a&gt;&lt;br&gt;
with many more features to be added in the future.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
