I have a lot of various programs (in C# and Python mostly) used by different peo
ID: 658080 • Letter: I
Question
I have a lot of various programs (in C# and Python mostly) used by different people across my network. I could put notifications in the code to let myself and others know about certain conditions like in example below.
try:
send_important_file(fn, dest)
notify_in_green("important-file-sender",
"really important file was sent without problems")
except:
notify_in_red("important-file-sender",
"really important file was not send, somebody do something")
I want such notifications to be shown in one GUI or webapp screen - dashboard.
On this dashboard I suppose to have the place (list item , tree node) where text of my message related to important-file-sender to be displayed. The item also should have color code to grab attention. The set of items to be shown on dashboard is preconfigured.
Users of this dashboard are not programmers. They are rather operators. The messages on the dashboard are not exceptions, stack traces etc. The messages are user-friendly messages to inform about certain events related to various business activities.
Can anyone suggest any open-source or commercial solution I could use?
Explanation / Answer
Commercial Option
RayGun
Support for lots of languages and frameworks but quite expensive
Simple Free Option
Use a shared network location for plain text log files and simply use logging, tag the logs with which app and machine or consider having one directory for logging from each machine on the network and one log file for each application, (probably simplest and best from the security point of view).
Then write a report generator that runs on the log files and produces say a web page that summarises results and highlights new problems. I would suggest using pythons logging module and trying to find/write a C# logger that produces the same format.
If network reliability/bandwidth is an issue you could log to a single directory on each machine and periodically upload to a server or zip & email (don't forget to wipe old logs after send or you are likely to hit disk space issues).
Note that the python logging module has numerous handlers that include the possibility of sending email notifications, web notifications, UDP notifications, etc., so if all your programs were python you would be golden, you may be able to locate the same functionality in C# but you might be better off writing a C# logger that simply embeds the python logger.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.