diff options
author | Federico Igne <git@federicoigne.com> | 2021-10-03 22:57:52 +0100 |
---|---|---|
committer | Federico Igne <git@federicoigne.com> | 2021-10-03 22:57:52 +0100 |
commit | 55384aaf879027012d688bfa566e34928a5f57e1 (patch) | |
tree | c4723b49cb78d78299fa3200531c4f2dae4c2a77 /src/main/scala/uk/ac/ox/cs | |
parent | 830b8d9f8902a4a3fc536f40843352e9ff905020 (diff) | |
download | RSAComb-55384aaf879027012d688bfa566e34928a5f57e1.tar.gz RSAComb-55384aaf879027012d688bfa566e34928a5f57e1.zip |
Add file output on verbose log level
Diffstat (limited to 'src/main/scala/uk/ac/ox/cs')
-rw-r--r-- | src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala | 4 | ||||
-rw-r--r-- | src/main/scala/uk/ac/ox/cs/rsacomb/util/Logger.scala | 17 |
2 files changed, 15 insertions, 6 deletions
diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala index e2b0e2f..83ebbcb 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala | |||
@@ -549,6 +549,8 @@ class RSAOntology(axioms: List[OWLLogicalAxiom], datafiles: List[os.Path]) | |||
549 | RDFoxUtil.addData(data, RSAOntology.CanonGraph, datafiles: _*) | 549 | RDFoxUtil.addData(data, RSAOntology.CanonGraph, datafiles: _*) |
550 | /* Top / equality axiomatization */ | 550 | /* Top / equality axiomatization */ |
551 | RDFoxUtil.addRules(data, topAxioms ++ equalityAxioms) | 551 | RDFoxUtil.addRules(data, topAxioms ++ equalityAxioms) |
552 | Logger.write(topAxioms.mkString("\n"), "canonical_model.datalog") | ||
553 | Logger.write(equalityAxioms.mkString("\n"), "canonical_model.datalog") | ||
552 | /* Generate `named` predicates */ | 554 | /* Generate `named` predicates */ |
553 | // TODO: do I need both to generate all NAMED atoms? | 555 | // TODO: do I need both to generate all NAMED atoms? |
554 | RDFoxUtil.addFacts( | 556 | RDFoxUtil.addFacts( |
@@ -571,6 +573,7 @@ class RSAOntology(axioms: List[OWLLogicalAxiom], datafiles: List[os.Path]) | |||
571 | 573 | ||
572 | /* Add canonical model */ | 574 | /* Add canonical model */ |
573 | Logger print s"Canonical model rules: ${this.canonicalModel.rules.length}" | 575 | Logger print s"Canonical model rules: ${this.canonicalModel.rules.length}" |
576 | Logger.write(canonicalModel.rules.mkString("\n"), "canonical_model.datalog") | ||
574 | RDFoxUtil.addRules(data, this.canonicalModel.rules) | 577 | RDFoxUtil.addRules(data, this.canonicalModel.rules) |
575 | 578 | ||
576 | Logger print s"Canonical model facts: ${this.canonicalModel.facts.length}" | 579 | Logger print s"Canonical model facts: ${this.canonicalModel.facts.length}" |
@@ -586,6 +589,7 @@ class RSAOntology(axioms: List[OWLLogicalAxiom], datafiles: List[os.Path]) | |||
586 | 589 | ||
587 | /* Add filtering program */ | 590 | /* Add filtering program */ |
588 | Logger print s"Filtering program rules: ${filter.rules.length}" | 591 | Logger print s"Filtering program rules: ${filter.rules.length}" |
592 | Logger.write(filter.rules.mkString("\n"), "filter.datalog") | ||
589 | RDFoxUtil.addRules(data, filter.rules) | 593 | RDFoxUtil.addRules(data, filter.rules) |
590 | // TODO: We remove the rules, should we drop the tuple table as well? | 594 | // TODO: We remove the rules, should we drop the tuple table as well? |
591 | data.clearRulesAxiomsExplicateFacts() | 595 | data.clearRulesAxiomsExplicateFacts() |
diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/util/Logger.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/util/Logger.scala index a09fcea..275079c 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/util/Logger.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/util/Logger.scala | |||
@@ -25,6 +25,10 @@ import java.io.PrintStream | |||
25 | */ | 25 | */ |
26 | object Logger { | 26 | object Logger { |
27 | 27 | ||
28 | private val time = Calendar.getInstance() | ||
29 | |||
30 | private lazy val dir = os.temp.dir(os.pwd, "rsacomb-", false) | ||
31 | |||
28 | /** Output stream for the logger. */ | 32 | /** Output stream for the logger. */ |
29 | var output: PrintStream = System.out | 33 | var output: PrintStream = System.out |
30 | 34 | ||
@@ -42,12 +46,13 @@ object Logger { | |||
42 | /** Currend logger level */ | 46 | /** Currend logger level */ |
43 | var level: Level = DEBUG | 47 | var level: Level = DEBUG |
44 | 48 | ||
45 | def print(str: Any, lvl: Level = NORMAL): Unit = { | 49 | def print(str: Any, lvl: Level = NORMAL): Unit = |
46 | if (lvl <= level) { | 50 | if (lvl <= level) |
47 | val time = Calendar.getInstance.getTime | 51 | output println s"[$lvl][${time.getTime}] $str" |
48 | output println s"[$lvl][$time] $str" | 52 | |
49 | } | 53 | def write(content: os.Source, file: String, lvl: Level = VERBOSE): Unit = |
50 | } | 54 | if (lvl <= level) |
55 | os.write.append(dir / file, content) | ||
51 | 56 | ||
52 | def timed[A](expr: => A, desc: String = "", lvl: Level = NORMAL): A = { | 57 | def timed[A](expr: => A, desc: String = "", lvl: Level = NORMAL): A = { |
53 | val t0 = System.currentTimeMillis() | 58 | val t0 = System.currentTimeMillis() |