Store gateway logs in external database

Here is something we used to create alarms during specific events that we could not get optics on from the client. This can be used to write values to tags when specific loggers are used, but it should be easy to modify to write to a database.

	from ch.qos.logback.classic import Level
	from ch.qos.logback.core import AppenderBase
	from org.slf4j import LoggerFactory
	class TagAppender(AppenderBase):

		def doAppend(self,event):    
			if event.level == Level.ERROR:
				system.tag.writeBlocking(["[default]SomethingIsMessedUpAlarm"],[True])   

			if event.level == Level.WARN:
				system.tag.writeBlocking(["[default]SomethingIsSortaMessedUpAlarm"],[True])    

	appender = TagAppender()
	appender.name = "SomethingIsMangled"
	appender.context = LoggerFactory.getILoggerFactory()
	
	for _logger in ["tags.storage.internaljson","com.inductiveautomation.ignition.gateway.localdb.sqlite.SingleConnectionDatasource","perspective.actions.script"]:
		logger = system.util.getLogger(_logger)
		logger.getLoggerSLF4J().addAppender(appender)