I have some fairly complex stuff going on in my database and there are some operations that users can log into the logs folder, so if there are any problems I can try to figure out what went wrong.
Now most of my customers work on Client-Server, some on Citrix or even Terminal Server.
This means they have no easy way of accessing the required folder (for example: /Users/AppData/4D/Roaming/Local/MyDatabase_10_123_221_17/logs), and even if they do, users nowadays are not what they used to be, they have no clue what to do…
So I needed another solution to retrieve and view log files from other clients.
This is where my wonderful new component AC_LogViewer comes to the rescue!
Just drop it into your components folder and you are set.
There are only 3 Methods available :
This one needs to be called before anything else, pop it in your startup, ideally after user authentication in case you roll your own.
For the ClientName pass the name the client is registered with on the server.
If you omit this, we will use a generic name made up of
Current machine+"|"+Current machine owner+"|"+Current user
The second parameter is the time in milliseconds the system will wait for an answer from another client before giving up, the default are 10 seconds (10 000).
The last parameter tells the component to take care of registering the client. It will first unregister it in case it has been automatically registered or you did it somewhere before.
Well, now you are set!
will display this beauty of a dialog:
You select an entry from the list of current users and will then see a hierarchical view of their current log folder. Clicking a text based file will display it and with the buttons above you can save the file locally or copy the content to the clipboard.
That’s basically it!
You can also include this form into any interface you might have, just use the form LogView_Viewer or LogView_ViewerEmbed (no title bar or OK button) and initialize the later with the method LogView_ViewerOnLoad, remember to call this in the context of the subform : EXECUTE METHOD IN SUBFORM(“sf_MySuperDuperSubForm”;”LogView_ViewerOnLoad”)
The component contains a bunch of other interesting stuff that’s hidden in the source, which in itself is found within the component, in an archive protected by quintuple recursive encryption the NSA might crack in 18 seconds, and a 2048 character password taken directly from an early statistics publication of the IMF report on the dire financial situation of former greek shipping magnates.
- Access any folder structure on any client
- View, upload, delete any file to and from any client
- Convert any folder hierarchy into an object variable, optionally with icons
- Convert a folder hierarchy object into an hierarchical list with icons
All this can be yours for a pittance : a donation of at least 10 Bucks (the much healthier equivalent of a giant Starbucks Pumpkin Spice Latte – or PSL as the kids who actually drink that atrocity call it) will set you up, more welcome, above 100 Bucks I will consider sending the password in Arial Black, 24 pt and color of your choice.
There is quite some space left in my account, so don’t hesitate, click the button in the sidebar, your donations will fit in.
When (not if) you donate, please mention LogViewer when donating so i know which password to send.
Oh, the downloads…