source: trunk/TouchOSC_LC/Logger.py @ 11

Revision 11, 1.3 KB checked in by st8, 13 months ago (diff)

Added prelim TouchOSC script

Line 
1import sys
2import time
3
4try:
5    import socket
6except:
7    print "No Sockets"
8   
9class Logger:
10    """
11    Simple logger.
12    Tries to use a socket which connects to localhost port 4444 by default.
13    If that fails then it logs to a file
14    """
15    def __init__(self):
16        try:
17            self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
18        except:
19            print "Couldn't create socket"
20            self.socket = None
21           
22        self.connected = 0
23       
24        if self.socket:
25            try:
26                self.socket.connect(("localhost", 4444))
27                self.connected = 1
28            except:
29                print "Couldn't connect socket"
30               
31
32        self.errorLog = open("C:\\stderr.txt", "w")
33        self.errorLog.write("Starting Error Log")
34        sys.stderr = self
35               
36
37    def log(self,msg):
38        if self.connected:
39            self.send(msg + '\n')
40        else:
41            print(msg)
42       
43    def send(self,msg):
44        if self.connected:
45            self.socket.send(msg + "\n")
46   
47    def close(self):
48        if self.connected:
49            self.socket.send("Closing..")
50            self.socket.close()
51           
52        self.errorLog.close()
53           
54    def write(self, msg):
55        self.errorLog.write(msg)
56        self.send("STDERR: " + msg)
Note: See TracBrowser for help on using the repository browser.