<div dir="ltr"><br><br><div class="gmail_quote">On Thu, Aug 21, 2008 at 7:25 AM, Balazs Scheidler <span dir="ltr">&lt;<a href="mailto:bazsi@balabit.hu">bazsi@balabit.hu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Wed, 2008-08-20 at 09:10 -0500, midnight codder wrote:<br>
&gt; Thanks for all of those alternatives.<br>
&gt; Allow me to rephrase my question (any idea): Does anyone have any idea<br>
&gt; as to why I am getting the broken pipe?<br>
&gt; The script I am using now is for the sake of simplifying things so I<br>
&gt; can pin point where troubles begin.<br>
&gt; We are not going to use such a script in production.<br>
&gt; The original java program that was supposed to be the destination is<br>
&gt; much more complicated, although in a sense it still reads the log<br>
&gt; messages off of std in, just like the script. (it is the handling of<br>
&gt; the logs afterwards that is complex).<br>
&gt; I shall investigate into using one of the alternatives, however - I<br>
&gt; will still be happy to know what might have went wrong.<br>
<br>
&gt;<br>
</div><div class="Ih2E3d">&gt; &nbsp; &nbsp; &nbsp; &nbsp; &lt;priC&gt; &lt;date 08-08-19T15:13:56.198-05:00&gt; &lt;host=oracle-test&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &lt;msg=syslog-ng[27971]: I/O error occurred while writing;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; fd=&#39;11&#39;, error=&#39;Broken pipe (32)&#39;&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &lt;priF&gt; &lt;date 08-08-19T15:13:56.198-05:00&gt; &lt;host=oracle-test&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &lt;msg=syslog-ng[27971]: Sending child a TERM signal;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; child_pid=&#39;27972&#39;&gt;<br>
<br>
</div>Your script terminates for some reason, it&#39;s not syslog-ng that kills<br>
your process, it is your script that dies.<br>
<br>
please run syslog-ng under strace -f (to follow forks) and see why your<br>
shell script exits.<br>
<font color="#888888"><br>
--<br>
Bazsi<br>
</font><div><div></div><div class="Wj3C7c"><br>
______________________________________________________________________________<br>
Member info: <a href="https://lists.balabit.hu/mailman/listinfo/syslog-ng" target="_blank">https://lists.balabit.hu/mailman/listinfo/syslog-ng</a><br>
Documentation: <a href="http://www.balabit.com/support/documentation/?product=syslog-ng" target="_blank">http://www.balabit.com/support/documentation/?product=syslog-ng</a><br>
FAQ: <a href="http://www.campin.net/syslog-ng/faq.html" target="_blank">http://www.campin.net/syslog-ng/faq.html</a><br>
<br>
</div></div></blockquote></div><br>Balazs,<br>I can&#39;t seem to find the command line option that you&#39;ve mentioned. there is -F (running int he foreground) and -f &lt;config file name&gt;.<br>I don&#39;t see any command line option that refers to following forks.<br>
I am running syslog-ng with -v and -d to get as many as messages as possible.<br><br>The good news, however, are that the script now is running successfully. (I had a typo, as usually, the mistake is so obvious it cannot be noticed)<br>
But my java program still fails to intercept any message. For any of you java driven syslog-ng users out there, please review this bit of code, perhaps you can point out where I went wrong. Here is the java code, it is a small main method:<br>
<br><br><div style="margin-left: 40px;">&nbsp;<span style="background-color: rgb(204, 204, 204);">static public void main(String[] args) throws IOException {</span><br style="background-color: rgb(204, 204, 204);"><span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int counter = 0;</span><br style="background-color: rgb(204, 204, 204);">
<span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Scanner scanner = new Scanner(System.in);</span><br style="background-color: rgb(204, 204, 204);"><span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (scanner.hasNextLine()) {</span><br style="background-color: rgb(204, 204, 204);">
<span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; counter++;</span><br style="background-color: rgb(204, 204, 204);"><span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String syslog = scanner.nextLine();</span><br style="background-color: rgb(204, 204, 204);">
<span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FileWriter writer =</span><br style="background-color: rgb(204, 204, 204);"><span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new FileWriter(</span><br style="background-color: rgb(204, 204, 204);">
<span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new File(</span><br style="background-color: rgb(204, 204, 204);"><span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.getProperty(&quot;user.home&quot;) + &quot;/&quot; +</span><br style="background-color: rgb(204, 204, 204);">
<span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SyslogProgramDestination.class.getSimpleName() + &quot;_&quot; +</span><br style="background-color: rgb(204, 204, 204);"><span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; counter + &quot;.log&quot;));</span><br style="background-color: rgb(204, 204, 204);">
<span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {</span><br style="background-color: rgb(204, 204, 204);"><span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.write(syslog + &quot;\n&quot;);</span><br style="background-color: rgb(204, 204, 204);">
<span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } finally {</span><br style="background-color: rgb(204, 204, 204);"><span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writer.close();</span><br style="background-color: rgb(204, 204, 204);">
<span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br style="background-color: rgb(204, 204, 204);"><span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span><br style="background-color: rgb(204, 204, 204);">
<span style="background-color: rgb(204, 204, 204);">&nbsp;&nbsp; }</span><br style="background-color: rgb(204, 204, 204);"><span style="background-color: rgb(204, 204, 204);">}</span></div></div>