Description: Interceptor is a Plasmoid for KDE4 on Posix systems, such as Linux. Its role is to intercept (catch) the log info from the syslog daemon, to flash whenever a log line is processed, and display it on a panel. In addition, interceptor can send an adequate notification to the KDE4 systray when a log line matches a given regular expression. This notification can even include an interaction, i.e. a button is displayed, that executes a command when clicked.Last changelog:
Is there a version that will work with older Qt versions like those on Scientific Linux 6. I get the following error on compilation
/home/gseaton/PLASMOIDS/interceptor-1.2.8/interceptor.cpp: In member function ‘bool MessAction::doAction(const QString&, const QDate&, const QTime&, const QString&, QWidget*, const KIconLoader*) const’:
/home/gseaton/PLASMOIDS/interceptor-1.2.8/interceptor.cpp:528: error: no matching function for call to ‘QObject::event(const QString&, const QString, QString&, const QPixmap&, QWidget*&, KNotification::NotificationFlag, KComponentData)’
/usr/include/kde4/KDE/../knotification.h:512: note: candidates are: static KNotification* KNotification::event(const QString&, const QString&, const QPixmap&, QWidget*, const KNotification::NotificationFlags&, const KComponentData&)
/usr/include/kde4/KDE/../knotification.h:529: note: static KNotification* KNotification::event(KNotification::StandardEvent, const QString&, const QPixmap&, QWidget*, const KNotification::NotificationFlags&)
/usr/include/QtCore/qobject.h:131: note: virtual bool QObject::event(QEvent*)
make[2]: *** [CMakeFiles/interceptor.dir/interceptor.o] Error 1
make[1]: *** [CMakeFiles/interceptor.dir/all] Error 2
make: *** [all] Error 2
Compilation failed, sorry :-(
Is there a version that will work with older Qt versions like those on Scientific Linux 6. I get the following error on compilation
/home/gseaton/PLASMOIDS/interceptor-1.2.8/interceptor.cpp: In member function ‘bool MessAction::doAction(const QString&, const QDate&, const QTime&, const QString&, QWidget*, const KIconLoader*) const’:
/home/gseaton/PLASMOIDS/interceptor-1.2.8/interceptor.cpp:528: error: no matching function for call to ‘QObject::event(const QString&, const QString, QString&, const QPixmap&, QWidget*&, KNotification::NotificationFlag, KComponentData)’
/usr/include/kde4/KDE/../knotification.h:512: note: candidates are: static KNotification* KNotification::event(const QString&, const QString&, const QPixmap&, QWidget*, const KNotification::NotificationFlags&, const KComponentData&)
/usr/include/kde4/KDE/../knotification.h:529: note: static KNotification* KNotification::event(KNotification::StandardEvent, const QString&, const QPixmap&, QWidget*, const KNotification::NotificationFlags&)
/usr/include/QtCore/qobject.h:131: note: virtual bool QObject::event(QEvent*)
make[2]: *** [CMakeFiles/interceptor.dir/interceptor.o] Error 1
make[1]: *** [CMakeFiles/interceptor.dir/all] Error 2
make: *** [all] Error 2
Compilation failed, sorry :-(
Problem is that once rebooted I have to manually restart rsyslog again.
I'll have to fiddle around with it a bit and see if I can make it work.
Thanks for all your help and time spent :-)
I'll post some (K)Ubuntu workarounds if I find any ;-)
/Thomas
Except the entries for interceptor, rsyslog.conf seems empty. Have you listed the full file or just the end ?
Maybe kubuntu doesn't use rsyslog, but rather syslog or another logging daemon. Check if syslog.conf exists and if it contains something
It was just the bottom part and it does run rsyslog.
/var/log/syslog:
Jun 16 07:41:28 tanghus rsyslogd: [origin software="rsyslogd" swVersion="4.6.4" x-pid="1014" x-info="http://www.rsyslog.com"] rsyslogd was HUPed, type 'lightweight'.
ps ax|grep syslog
1014 ? Sl 0:00 rsyslogd -c4
2142 ? S<sl 33:49 /usr/bin/pulseaudio --start --log-target=syslog
If I in one terminal run:
cat /var/run/interceptor/info
and in another - as root - run:
ls > /var/run/interceptor/info
I get the output in the first terminal and the pipe is closed (or I guess it's closed because cat stops 'listening').
mmmh you shouldn't do a
ls > /var/run/interceptor/info
but rather
ls | logger -p daemon.info
then you can retrieve the ls results with
cat /var/run/interceptor/info
mmmh you shouldn't do a
ls > /var/run/interceptor/info
but rather
ls | logger -p daemon.info
then you can retrieve the ls results with
cat /var/run/interceptor/info
mmmh you shouldn't do a
ls > /var/run/interceptor/info
but rather
ls | logger -p daemon.info
then you can retrieve the ls results with
cat /var/run/interceptor/info
> ls | logger -p daemon.info
That came thru to /var/log/syslog
Jun 16 18:36:46 tanghus logger: Desktop
Jun 16 18:36:46 tanghus logger: Documents
Jun 16 18:36:46 tanghus logger: Downloads
Jun 16 18:36:46 tanghus logger: Dropbox
But not to the fifo. Are the settings in rsyslog.conf correct? I'll have to read some man pages ;-)
mmmh you shouldn't do a
ls > /var/run/interceptor/info
but rather
ls | logger -p daemon.info
then you can retrieve the ls results with
cat /var/run/interceptor/info
A bit more testing.
I install Interceptor again and add the widget to the dashboard. Again as root I run:
ls > /var/run/interceptor/info
The command hangs and nothing shows in the widget. Only when I run:
cat /var/run/interceptor/info
the ls process finishes. Is the widget listening to the right pipe(s)?
your entries on rsyslog.conf seem correct. I got the same. Nevertheless it doesn't work...
try those entries but without
;RSYSLOG_TraditionalFileFormat
This is getting weird. I did some editing in rsyslog.conf (which didn't work) redid what I'd edited and restarted the rsyslog daemon.
And now it seems to work!?!
And interesting entry in the log was:
Jun 16 19:25:45 tanghus rsyslogd: rsyslogd's groupid changed to 103
Jun 16 19:25:45 tanghus rsyslogd: rsyslogd's userid changed to 101
Can it be because of some faulty permissions?
mmmh, the installation seems correct. I assume that the interceptor stuff is installed into the right directories. I seldom use opensuse. I can't tell.
Ok, let's test if the fifos work. In a shell, type the command:
cat /var/run/interceptor/notice
and in another
logger "xxxxx"
In the first shell, you should be able to seee the xxxxx. Of course without interceptor.
Ratings & Comments
77 Comments
Is there a version that will work with older Qt versions like those on Scientific Linux 6. I get the following error on compilation /home/gseaton/PLASMOIDS/interceptor-1.2.8/interceptor.cpp: In member function ‘bool MessAction::doAction(const QString&, const QDate&, const QTime&, const QString&, QWidget*, const KIconLoader*) const’: /home/gseaton/PLASMOIDS/interceptor-1.2.8/interceptor.cpp:528: error: no matching function for call to ‘QObject::event(const QString&, const QString, QString&, const QPixmap&, QWidget*&, KNotification::NotificationFlag, KComponentData)’ /usr/include/kde4/KDE/../knotification.h:512: note: candidates are: static KNotification* KNotification::event(const QString&, const QString&, const QPixmap&, QWidget*, const KNotification::NotificationFlags&, const KComponentData&) /usr/include/kde4/KDE/../knotification.h:529: note: static KNotification* KNotification::event(KNotification::StandardEvent, const QString&, const QPixmap&, QWidget*, const KNotification::NotificationFlags&) /usr/include/QtCore/qobject.h:131: note: virtual bool QObject::event(QEvent*) make[2]: *** [CMakeFiles/interceptor.dir/interceptor.o] Error 1 make[1]: *** [CMakeFiles/interceptor.dir/all] Error 2 make: *** [all] Error 2 Compilation failed, sorry :-(
Obviously, your kde has been built upon an old qt, which doesn't provide a recent event() method.
Is there a version that will work with older Qt versions like those on Scientific Linux 6. I get the following error on compilation /home/gseaton/PLASMOIDS/interceptor-1.2.8/interceptor.cpp: In member function ‘bool MessAction::doAction(const QString&, const QDate&, const QTime&, const QString&, QWidget*, const KIconLoader*) const’: /home/gseaton/PLASMOIDS/interceptor-1.2.8/interceptor.cpp:528: error: no matching function for call to ‘QObject::event(const QString&, const QString, QString&, const QPixmap&, QWidget*&, KNotification::NotificationFlag, KComponentData)’ /usr/include/kde4/KDE/../knotification.h:512: note: candidates are: static KNotification* KNotification::event(const QString&, const QString&, const QPixmap&, QWidget*, const KNotification::NotificationFlags&, const KComponentData&) /usr/include/kde4/KDE/../knotification.h:529: note: static KNotification* KNotification::event(KNotification::StandardEvent, const QString&, const QPixmap&, QWidget*, const KNotification::NotificationFlags&) /usr/include/QtCore/qobject.h:131: note: virtual bool QObject::event(QEvent*) make[2]: *** [CMakeFiles/interceptor.dir/interceptor.o] Error 1 make[1]: *** [CMakeFiles/interceptor.dir/all] Error 2 make: *** [all] Error 2 Compilation failed, sorry :-(
ok, if it works, you could reinstall interceptor.
Problem is that once rebooted I have to manually restart rsyslog again. I'll have to fiddle around with it a bit and see if I can make it work. Thanks for all your help and time spent :-) I'll post some (K)Ubuntu workarounds if I find any ;-) /Thomas
Of course you have rebooted your computer. Let's see if you can have an acces to your fifos ls -l /var/run/interceptor/*
Looks OK: ls -l /var/run/interceptor/* prw-r--r-- 1 root root 0 2011-06-15 15:45 /var/run/interceptor/alert prw-r--r-- 1 root root 0 2011-06-15 15:45 /var/run/interceptor/crit prw-r--r-- 1 root root 0 2011-06-15 15:45 /var/run/interceptor/debug prw-r--r-- 1 root root 0 2011-06-15 15:45 /var/run/interceptor/emerg prw-r--r-- 1 root root 0 2011-06-15 15:45 /var/run/interceptor/err prw-r--r-- 1 root root 0 2011-06-15 15:45 /var/run/interceptor/info prw-r--r-- 1 root root 0 2011-06-15 15:45 /var/run/interceptor/notice prw-r--r-- 1 root root 0 2011-06-15 15:45 /var/run/interceptor/warning
and syslog.conf ?
/etc/rsyslog.conf: # Entries for interceptor *.=debug |/var/run/interceptor/debug;RSYSLOG_TraditionalFileFormat *.=info |/var/run/interceptor/info;RSYSLOG_TraditionalFileFormat *.=notice |/var/run/interceptor/notice;RSYSLOG_TraditionalFileFormat *.=warning |/var/run/interceptor/warning;RSYSLOG_TraditionalFileFormat *.=err |/var/run/interceptor/err;RSYSLOG_TraditionalFileFormat *.=crit |/var/run/interceptor/crit;RSYSLOG_TraditionalFileFormat *.=alert |/var/run/interceptor/alert;RSYSLOG_TraditionalFileFormat *.=emerg |/var/run/interceptor/emerg;RSYSLOG_TraditionalFileFormat (
Except the entries for interceptor, rsyslog.conf seems empty. Have you listed the full file or just the end ? Maybe kubuntu doesn't use rsyslog, but rather syslog or another logging daemon. Check if syslog.conf exists and if it contains something
It was just the bottom part and it does run rsyslog. /var/log/syslog: Jun 16 07:41:28 tanghus rsyslogd: [origin software="rsyslogd" swVersion="4.6.4" x-pid="1014" x-info="http://www.rsyslog.com"] rsyslogd was HUPed, type 'lightweight'. ps ax|grep syslog 1014 ? Sl 0:00 rsyslogd -c4 2142 ? S<sl 33:49 /usr/bin/pulseaudio --start --log-target=syslog
If I in one terminal run: cat /var/run/interceptor/info and in another - as root - run: ls > /var/run/interceptor/info I get the output in the first terminal and the pipe is closed (or I guess it's closed because cat stops 'listening').
mmmh you shouldn't do a ls > /var/run/interceptor/info but rather ls | logger -p daemon.info then you can retrieve the ls results with cat /var/run/interceptor/info
mmmh you shouldn't do a ls > /var/run/interceptor/info but rather ls | logger -p daemon.info then you can retrieve the ls results with cat /var/run/interceptor/info
mmmh you shouldn't do a ls > /var/run/interceptor/info but rather ls | logger -p daemon.info then you can retrieve the ls results with cat /var/run/interceptor/info
> ls | logger -p daemon.info That came thru to /var/log/syslog Jun 16 18:36:46 tanghus logger: Desktop Jun 16 18:36:46 tanghus logger: Documents Jun 16 18:36:46 tanghus logger: Downloads Jun 16 18:36:46 tanghus logger: Dropbox But not to the fifo. Are the settings in rsyslog.conf correct? I'll have to read some man pages ;-)
mmmh you shouldn't do a ls > /var/run/interceptor/info but rather ls | logger -p daemon.info then you can retrieve the ls results with cat /var/run/interceptor/info
A bit more testing. I install Interceptor again and add the widget to the dashboard. Again as root I run: ls > /var/run/interceptor/info The command hangs and nothing shows in the widget. Only when I run: cat /var/run/interceptor/info the ls process finishes. Is the widget listening to the right pipe(s)?
your entries on rsyslog.conf seem correct. I got the same. Nevertheless it doesn't work... try those entries but without ;RSYSLOG_TraditionalFileFormat
This is getting weird. I did some editing in rsyslog.conf (which didn't work) redid what I'd edited and restarted the rsyslog daemon. And now it seems to work!?! And interesting entry in the log was: Jun 16 19:25:45 tanghus rsyslogd: rsyslogd's groupid changed to 103 Jun 16 19:25:45 tanghus rsyslogd: rsyslogd's userid changed to 101 Can it be because of some faulty permissions?
Ok, I have just released interceptor 1.2.7. It should correctly display the log lines. Tell me if it works ...
I still get no log lines. Neither with 1.2.5 nor with 1.2.7. Anything I can do to debug this? /Thomas
Could you tell me what happens when you make a 'make install' ?
tol@tanghus:~/Downloads/interceptor/build$ sudo rm /usr/lib/kde4/interceptor_engine.so /usr/share/kde4/services/interceptorengine.desktop /usr/lib/kde4/interceptor.so /usr/share/kde4/services/interceptor.desktop /usr/share/kde4/apps/interceptor/interceptor.notifyrc /usr/share/kde4/apps/desktoptheme/default/widgets/interceptor.svgz /usr/share/icons/oxygen/scalable/apps/interceptor.svgz /usr/bin/mkintfifos tol@tanghus:~/Downloads/interceptor/build$ sudo make install [ 0%] Built target interceptor_automoc [ 75%] Built target interceptor [ 75%] Built target interceptor_engine_automoc [100%] Built target interceptor_engine Install the project... -- Install configuration: "RelWithDebInfo" -- Installing: /usr/lib/kde4/interceptor_engine.so -- Installing: /usr/share/kde4/services/interceptorengine.desktop -- Installing: /usr/lib/kde4/interceptor.so -- Installing: /usr/share/kde4/services/interceptor.desktop -- Installing: /usr/share/kde4/apps/interceptor/interceptor.notifyrc -- Installing: /usr/share/kde4/apps/desktoptheme/default/widgets/interceptor.svgz -- Installing: /usr/share/icons/oxygen/scalable/apps/interceptor.svgz -- Installing: /usr/bin/mkintfifos Still nothing. plasmaengineexplorer sees the engine but shows 0 data sources.
mmmh, the installation seems correct. I assume that the interceptor stuff is installed into the right directories. I seldom use opensuse. I can't tell. Ok, let's test if the fifos work. In a shell, type the command: cat /var/run/interceptor/notice and in another logger "xxxxx" In the first shell, you should be able to seee the xxxxx. Of course without interceptor.