Logging Conversations

I am pulling up the same exact error. Any clue on how to fix this? I’'m looking to implement this fantastic Jive Messenger in a corp. environment where everything can be controlled… unlike using AIM or MSN or the other crap.

Thanks for your help you guys are very bright.

Thanks,

Steve

Just an FYI - I’'m looking to log ALL conversations to reference at any time - without having to install anything locally on each machine.

This is what I am looking for right?

Thanks again,

Steve

Just an FYI - I’'m looking to log ALL conversations to

reference at any time - without having to install

anything locally on each machine.

This is what I am looking for right?

All this program does is organise the logs that Jive messenger outputs into a more useable form. The only plave you need to use this program in on the machine that your want to view the logs from.

As for the error, still trying to reproduce it.

edit

If any use, I’'ve updated the source code on the earlier post, however this should give the binary that I posted. You get the error with that as well.

From the debug output, the problem seems to be happening on the initial parse of the logfile. I’‘ve just tried a raw log and still didn’'t get any errors.

Question to devs: Are the xml tags in the logs the same regardless of localisation? What about time stamps?

I’‘ll update the sources again once I’'ve added some error checking around the log file loading code.

Another edit

Source and binary attachments updated. Error checking just reports whether the log file can be loaded into an XmlDocument. If it can’‘t, that points to invalid XML. It’'s a start.

Jason.

Message was edited by:

jasonmcclean

What settings do I have to enable under administration for it to log all conversations had?

Including private messages

Just an FYI - I downloaded the new binary and am getting these errors when trying to view the log file:

First message box: Error parsing child nodes of root node jive

Second message box: Error loading log file

Thanks,

Steve

Nothing was “fixed” with the new binary, just some error tracking. I need to find out where it is going wrong first.

Ok, we’'re zooming in on the problem.

btw, to log all conversations, go to the Server tab (the default one after entering the admin console), then click on Message Audit policy on the left. Click on ‘‘Enable Message Auditing’’, then if it is only messages you are after, just click on ‘‘Audit Message Packets’’.

This will produce files like jive.audit-0.log etc. These files will contain all the message packets, and it is these files that the log viewer (and associated Perl script) process.

If you don’'t have message auditing switched on, what are you trying to view with the log viewer??

I get the same errors as Steve.

I did also check the audit file after trying to open it in LogViewer and now it does have a at the end.

Btw, I used the binary.

oh, I was just double checking that I had the settings correct - which I did.

This utility would be AWESOME if you programmer guru’'s can zoom in on this error

I’'ve sent you a private message with my email address. Could you send me a copy of your log so that I can try and reproduce the error?

Jason.

Ok,

I’‘ve received a copy of Natata’'s log file and the problem is now blindingly obvious. I wrote the log viewer only to be expecting message packets, not everything! This is a bit of major boob on my part It is the status packets, log on/off packets etc. etc. that is completely throwing the viewer.

Hopefully I’'ll have some time today to modify the code to filter out the rest of the other stuff and concentrate only on message packets.

Once again, oops!

Jason.

Hi Natata & Steve,

I think I’‘ve almost sorted the problem. If you are logging all packets, only message packets are used, everything else is ignored. Also fixed a time stamp problem, but as you didn’‘t get that far, you wouldn’'t have noticed it

Another thing that I didn’‘t consider was groupchats, doh! As we don’‘t currently use them, support for them is limited in the viewer at the moment. You can view individiual messages by double clicking the entry in the list, but you cannot recreate a chat window … yet. I’'ve added the type so that the viewer correctly reports the message type (groupchat), but currently that is as far as it goes at the moment.

Hopefully I’'ll get a little more time again later today to try and address the remaining problems, then I will post updated source and binary.

so the Viewer will work if I stop logging everything and simply only log message packets?

so the Viewer will work if I stop logging everything

and simply only log message packets?

Most likely, however, I have removed this restriction. You shouldn’‘t have to stop logging everything just to use this utility. That’'s not the way it should go.

Natata’‘s log file has highlighted a few other little problems like extracting the date from the message, I was assuming only a 3 character time zone code (like BST), but Natata’'s was CEST, which threw it a bit. Fixed that.

Group chat. We don’‘t use that here yet, so the logger doesn’'t cope well with that. When viewing a chat, the log viewer assumes just two participants, however when it can be many (including the room itself), it becomes a little more involved to reconstruct the conversations. Working on that now.

Hopefully I’'ll get something posted today.

Jason.

I seem to have fluffed updating the attachments further back in the thread and managed to lose them. So, here they are again.

If logging everything is turned on, only message, chat and groupchat packets are processed. Everything else is ignored.

Reconstruction of a group chat sort of works, but I have by no means thoroughly tested it Just right click and choose “View as chat”.

In order to recognise when the sender or recipient is actually the chat room, the key “Conference” in the config file must be set to the subdomain of your conference, i.e. conference.yourdomain.com. There will be repetitions of messages to and from chat rooms in the main window, but when viewing as a chat, the messages sent from the room are ignored so all you get are the messages sent by the participants of the group chat.

I suppose that I could combine all of these so that you can just specify your domain then just the subdomain part for broadcasting and groupchats. Maybe in the next update.

BTW I’‘ve not checked how the Perl script copes with everything. I think it just picks out packet nodes so it shouldn’'t be affected by what is being logged.

Let me know how you get on.

Jason.

edit

Attachments have been updated - 01-09-2005

Message was edited by:

jasonmcclean

Many many thanks Jason!

I am able now to load a log file. Somehow when I use focus or filter in GROUPCHAT sender and receiver get a bit messed up. I can perfectly “view as chat” normal chats but with groupchat I got the following undhandled exception:

  • 71 is not a valid message item

Parameter name: index

and in details:

See the end of this message for details on invoking

just-in-time (JIT) debugging instead of this dialog box.

  • Exception Text **************

System.ArgumentOutOfRangeException: 71 is not a valid message item

Parameter name: index

at Listawood.Xmpp.LogViewer.Sender.get_Item(Int32 index)

at Listawood.Xmpp.LogViewer.ChatWindow.PopulateGroupChatWindow(Boolean useEmoticons)

at Listawood.Xmpp.LogViewer.ChatWindow.Setup(XmppLog log, XmppMsgType msgType, String room)

at Listawood.Xmpp.LogViewer.ChatWindow…ctor(XmppLog log, XmppMsgType msgType, String room)

at Listawood.Xmpp.LogViewer.MainForm.GroupChatWindow(XmppMsg msg)

at Listawood.Xmpp.LogViewer.MainForm.MenuItem3Click(Object sender, EventArgs e)

at System.Windows.Forms.MenuItem.OnClick(EventArgs e)

at System.Windows.Forms.MenuItemData.Execute()

at System.Windows.Forms.Command.Invoke()

at System.Windows.Forms.Control.WmCommand(Message& m)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.ListView.WndProc(Message& m)

at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

  • Loaded Assemblies **************

mscorlib

Assembly Version: 1.0.5000.0

Win32 Version: 1.1.4322.573

CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll


Log Viewer

Assembly Version: 1.0.2026.15186

Win32 Version: 1.0.2026.15186

CodeBase: file:///C:/Documents%20and%20Settings/nromero/My%20Documents/TUe/Development/ji ve_messenger_src/LogViewer-bin/Log%20Viewer.exe


System.Windows.Forms

Assembly Version: 1.0.5000.0

Win32 Version: 1.1.4322.573

CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e0 89/system.windows.forms.dll


System

Assembly Version: 1.0.5000.0

Win32 Version: 1.1.4322.573

CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll


System.Drawing

Assembly Version: 1.0.5000.0

Win32 Version: 1.1.4322.573

CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/sys tem.drawing.dll


System.Xml

Assembly Version: 1.0.5000.0

Win32 Version: 1.1.4322.573

CodeBase: file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system. xml.dll


Khendys.Controls.ExRichTextBox

Assembly Version: 1.0.1985.28025

Win32 Version: 1.0.1985.28025

CodeBase: file:///C:/Documents%20and%20Settings/nromero/My%20Documents/TUe/Development/ji ve_messenger_src/LogViewer-bin/Khendys.Controls.ExRichTextBox.DLL


  • JIT Debugging **************

To enable just in time (JIT) debugging, the config file for this

application or machine (machine.config) must have the

jitDebugging value set in the system.windows.forms section.

The application must also be compiled with debugging

enabled.

For example:

When JIT debugging is enabled, any unhandled exception

will be sent to the JIT debugger registered on the machine

rather than being handled by this dialog.

==========

The tool looks very promising!! thanks once more for all your effort Jason… I’'m trying to go through the code now to understand how it works so I can help with the errors

Hi Natata,

Glad to hear that you can load a log file. Group chat, hmm, that was only added yesterday and is still up in the air in terms of working. I need to test that further. The problem is that we don’‘t really use groupchat here yet, so I’‘ve not really had anything to test the code with. I’'ll probably be setting up a testing group chat later today with a few colleagues so that I can get some log entries to test with.

BTW it’'s just the first few lines of the error that are most useful as that is closest to where the error actually is. I.e. the exception text.

Thanks,

Jason.

How do i use this?

I’'m not used about Perl…

I’‘ve installed Jive messenger and it’'s working ok!

How to run Log Viewer? Need to install Perl?

Thank’'s in Advance

How do i use this?

I’'m not used about Perl…

I’‘ve installed Jive messenger and it’'s working ok!

How to run Log Viewer? Need to install Perl?

Thank’'s in Advance

Hi there,

No you don’'t necessarily need Perl. All the Perl script does is to enable splitting the audit log files into dated files, so it is easier to keep track. At some point I think the option to roll over the log files based on time will be included, just not yet

To run the Log viewer, however, you will need the Microsoft .NET 1.1 runtime installed (available from the Microsoft web site).

All the log viewer does is to present the Jive audit logs in a more readable form. It is still work in progress. You need to have auditing turned on (In the admin console - in the logs section).

Hope that helps.

Jason.

Jason,

Just wanted to say Excellent work on the chat logger!!

Makes searching a lot easier then using Hurrican Search or WinGrep to find stuff

Thanks again!

Edit

I see no option to export from filtered searchs, this would be a nice thing to see added

Message was edited by:

lcameron