Fork me on GitHub
#datomic
<
2020-09-15
>
Sam DeSota17:09:06

I’m trying to disable some logging on a peer server that’s painfully verbose, but I can’t seem to make any progress with the docs. I have lein project that’s using datomic-pro , tried to add a bin/logback.xml but I’m not really sure how I actually configure datomic to pickup on that file (I added the slf4j exclusion so the datomic pro lib using logback), since I’ve changed all the loglevels to warn with no change in the verbosity. Also tried to use (.setLevel (org.slf4j.LoggerFactory/getLogger "datomic") ch.qos.logback.classic.Level/WARN) with no progress. Let me know if there’s tips on how to disable the DEBUG logging by default.

favila17:09:38

If you use the bin/run method of starting, it should have logback.xml on the classpath already

favila17:09:40

alternatively, you can include the -Dlogback.configurationFile= property to point to your own logback file

favila17:09:56

wait, do you mean “peer-server” or “peer, that is also a server”?

Sam DeSota17:09:09

I got it, just wasn’t familiar with the convention. I added logback.xml to my resources dir so it’s in my class path, not using bin/run, it’s a peer that’s also a server 🙂

favila17:09:45

ah, ok. that’s different. I recommend always using the property btw instead of putting it on the classpath (except maybe in dev, where you can put the logback in dev-resources)

favila17:09:49

that’s maybe not especially helpful

Sam DeSota17:09:59

Yup, I’m on that page. I’ll add the property on deploy.

enn21:09:18

I'd like to write a :where clause which will unify and bind a certain var if the relevant attribute is present, but which won't prevent the whole clause from matching if that attribute isn't present. Something like this:

:where [?foo-id :foo/id "123"]
       [?foo-id :foo/bar ?foo-bar]
Except I want it to match every :foo/id of 123, regardless of whether :foo/bar is present. But if it is present, I'd like to bind it to ?foo-bar. Is this possible?

cmdrdats03:09:10

The key here is to understand what you're wanting this for. 9/10, you're actually just wanting to pull the field information out into ?foo-bar For that, I would recommend using the pull syntax, ie.

cmdrdats03:09:58

(d/q 
  '[:find (pull ?foo-id [:foo/id :foo/bar])
    :where [?foo-id :foo/id "123"]] db)

ivana22:09:34

I'm not sure I understand you correctly, but it sounds like get-else

👍 3
kennytilton22:09:18

Look for get-else half way down: https://docs.datomic.com/on-prem/query.html @enn Could be a fit.

enn22:09:40

thank you, I’ll check that out