Mercurial > hg > Members > tatsuki > Alice
comparison src/main/java/alice/daemon/AliceDaemon.java @ 345:8f71c3e6f11d
Change directory structure Maven standard
author | sugi |
---|---|
date | Wed, 16 Apr 2014 18:26:07 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
344:9f97ec18f8c5 | 345:8f71c3e6f11d |
---|---|
1 package alice.daemon; | |
2 | |
3 import java.io.FileWriter; | |
4 import java.io.IOException; | |
5 import java.net.InetAddress; | |
6 import java.net.InetSocketAddress; | |
7 import java.net.ServerSocket; | |
8 import java.nio.channels.ServerSocketChannel; | |
9 | |
10 import org.apache.log4j.Logger; | |
11 import org.apache.log4j.PatternLayout; | |
12 import org.apache.log4j.WriterAppender; | |
13 | |
14 public class AliceDaemon { | |
15 | |
16 private Config conf; | |
17 private AcceptThread acceptThread; | |
18 private Logger log = Logger.getLogger(AliceDaemon.class); | |
19 | |
20 public AliceDaemon(Config conf) { | |
21 this.conf = conf; | |
22 setLogger(); | |
23 } | |
24 | |
25 private void setLogger() { | |
26 Logger root = Logger.getRootLogger(); | |
27 if (conf.level != null) | |
28 root.setLevel(conf.level); | |
29 if (conf.logFile == null) | |
30 return; | |
31 PatternLayout layout = new PatternLayout(); | |
32 layout.setConversionPattern("%d %-5p %c - %m [%t] (%F:%L)%n"); | |
33 try { | |
34 FileWriter writer = new FileWriter(conf.logFile); | |
35 WriterAppender writerAppender = new WriterAppender(layout, writer); | |
36 root.removeAllAppenders(); | |
37 root.addAppender(writerAppender); | |
38 } catch (IOException e) { | |
39 e.printStackTrace(); | |
40 } | |
41 log.info("configured"); | |
42 } | |
43 | |
44 public void listen() { | |
45 try { | |
46 ServerSocketChannel ssChannel = ServerSocketChannel.open(); | |
47 ServerSocket ss = ssChannel.socket(); | |
48 ss.setReuseAddress(true); | |
49 | |
50 //InetSocketAddress a = new InetSocketAddress("::", conf.localPort); | |
51 InetSocketAddress a = new InetSocketAddress(InetAddress.getLocalHost(), conf.localPort); | |
52 //System.out.println(a); | |
53 ss.bind(a); | |
54 acceptThread = new AcceptThread(ss, "ACCEPT" + conf.localPort); | |
55 acceptThread.start(); | |
56 } catch (IOException e) { | |
57 e.printStackTrace(); | |
58 } | |
59 | |
60 } | |
61 } |