Skip to content

Commit a01633f

Browse files
committed
add assembly plugin and change log dir
1 parent 57a89c1 commit a01633f

File tree

4 files changed

+87
-6
lines changed

4 files changed

+87
-6
lines changed

assembly.sbt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import AssemblyKeys._
2+
3+
assemblySettings
4+
5+
jarName := "log-analyzer.jar"

project/assembly.sbt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2")
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="SBT" type="SBT_MODULE" version="4">
3+
<component name="NewModuleRootManager" inherit-compiler-output="false">
4+
<output url="file://$MODULE_DIR$/target/idea-classes" />
5+
<output-test url="file://$MODULE_DIR$/target/idea-test-classes" />
6+
<exclude-output />
7+
<content url="file://$MODULE_DIR$">
8+
<sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
9+
<excludeFolder url="file://$MODULE_DIR$/target" />
10+
</content>
11+
<orderEntry type="inheritedJdk" />
12+
<orderEntry type="sourceFolder" forTests="false" />
13+
<orderEntry type="module-library">
14+
<library name="SBT: sbt-and-plugins">
15+
<CLASSES>
16+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/test-agent-0.13.0.jar!/" />
17+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/logging-0.13.0.jar!/" />
18+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/test-interface-1.0.jar!/" />
19+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/api-0.13.0.jar!/" />
20+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/compile-0.13.0.jar!/" />
21+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/command-0.13.0.jar!/" />
22+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/launcher-interface-0.13.0.jar!/" />
23+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/cross-0.13.0.jar!/" />
24+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/lib/scala-reflect.jar!/" />
25+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/actions-0.13.0.jar!/" />
26+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/run-0.13.0.jar!/" />
27+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/compiler-integration-0.13.0.jar!/" />
28+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/testing-0.13.0.jar!/" />
29+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/main-0.13.0.jar!/" />
30+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/apply-macro-0.13.0.jar!/" />
31+
<root url="jar://$USER_HOME$/.ivy2/cache/scala_2.10/sbt_0.13/com.eed3si9n/sbt-assembly/jars/sbt-assembly-0.11.2.jar!/" />
32+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/persist-0.13.0.jar!/" />
33+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/collections-0.13.0.jar!/" />
34+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/relation-0.13.0.jar!/" />
35+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/io-0.13.0.jar!/" />
36+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/classfile-0.13.0.jar!/" />
37+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/sbinary_2.10-0.4.2.jar!/" />
38+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/jsch-0.1.46.jar!/" />
39+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/lib/scala-compiler.jar!/" />
40+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/ivy-2.3.0-rc1.jar!/" />
41+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/main-settings-0.13.0.jar!/" />
42+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/ivy-0.13.0.jar!/" />
43+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/lib/jline.jar!/" />
44+
<root url="jar://$USER_HOME$/.ivy2/cache/scala_2.10/sbt_0.13/org.jetbrains/sbt-structure/jars/sbt-structure-1.0.3.jar!/" />
45+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/process-0.13.0.jar!/" />
46+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/tasks-0.13.0.jar!/" />
47+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/incremental-compiler-0.13.0.jar!/" />
48+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/cache-0.13.0.jar!/" />
49+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/lib/scala-library.jar!/" />
50+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/control-0.13.0.jar!/" />
51+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/jline-2.11.jar!/" />
52+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/xsbti/interface-0.13.0.jar!/" />
53+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/lib/jansi.jar!/" />
54+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/compiler-ivy-integration-0.13.0.jar!/" />
55+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/scala-reflect-2.10.2.jar!/" />
56+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/task-system-0.13.0.jar!/" />
57+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/completion-0.13.0.jar!/" />
58+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/sbt-0.13.0.jar!/" />
59+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/tracking-0.13.0.jar!/" />
60+
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/classpath-0.13.0.jar!/" />
61+
</CLASSES>
62+
<JAVADOC />
63+
<SOURCES />
64+
</library>
65+
</orderEntry>
66+
</component>
67+
</module>
68+

src/main/scala/cloud/fan/Main.scala

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import scala.collection.mutable.ListBuffer
44
import scala.concurrent._
55
import scala.concurrent.duration._
66
import java.util.concurrent.Executors
7+
import java.nio.file.{Files, Paths}
8+
import java.text.SimpleDateFormat
9+
import java.util.Date
710

811
/**
912
* Created by cloud on 3/21/14.
@@ -13,33 +16,37 @@ object Main {
1316
val futures = ListBuffer.empty[Future[Unit]]
1417
implicit val threadPool = ExecutionContext.fromExecutorService(Executors.newFixedThreadPool(64))
1518

16-
def doWork(nodes: Array[String], groups: Array[String], nodeType: String, baseLogDir: String) {
19+
def doWork(nodes: Array[String], groups: Array[String], nodeType: String, logDir: String) {
1720
ChartSender.sendNodes(nodeType, nodes)
1821
for(node <- nodes) {
1922
ChartSender.sendGroups(nodeType, node, groups)
2023
for (group <- groups) {
2124
futures += future {
22-
analyzeLog(nodeType, node, baseLogDir, group)
25+
analyzeLog(nodeType, node, logDir, group)
2326
}
2427
}
2528
}
2629
}
2730

2831
def main(args: Array[String]) {
29-
val baseLogDir = args(0)
30-
val webPath = args(1)
32+
val tag = args(0)
33+
val dirName = s"$tag-${new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss").format(new Date)}"
34+
val webPath = Paths.get(args(1), dirName).toAbsolutePath.toString
35+
val logDir = Paths.get("/tmp", dirName).toAbsolutePath.toString
36+
Files.createDirectory(Paths.get(logDir))
3137
val serverNames = args(2).split(",")
3238
val serverGroups = args(3).split(",")
33-
doWork(serverNames, serverGroups, "server", baseLogDir)
39+
doWork(serverNames, serverGroups, "server", logDir)
3440

3541
if (args.length == 6) {
3642
val clientNames = args(4).split(",")
3743
val clientGroups = args(5).split(",")
38-
doWork(clientNames, clientGroups, "client", baseLogDir)
44+
doWork(clientNames, clientGroups, "client", logDir)
3945
}
4046

4147
sys.addShutdownHook {
4248
ChartSender.finish(webPath)
49+
Files.move(Paths.get(logDir), Paths.get(webPath, "logs"))
4350
System.out.close()
4451
System.err.close()
4552
}

0 commit comments

Comments
 (0)