This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-02-20
Channels
- # admin-announcements (1)
- # beginners (17)
- # boot (22)
- # cider (43)
- # cljs-dev (6)
- # cljsjs (2)
- # clojure (29)
- # clojure-austin (7)
- # clojure-estonia (1)
- # clojure-russia (62)
- # clojure-sg (1)
- # clojurebridge (2)
- # clojured (1)
- # clojurescript (89)
- # datomic (8)
- # hoplon (333)
- # jobs (3)
- # ldnclj (2)
- # leiningen (10)
- # luminus (1)
- # off-topic (9)
- # om (46)
- # proton (4)
- # re-frame (13)
- # reagent (29)
- # yada (11)
Привет! Кто-нибудь работал с nrepl напрямую? Стартую (start-server :port 16874) из Java приложения, хочется, чтобы при подключении к nprepl автоматически в repl-сессию загружался нужный файл. API для этого не могу найти
Если вдруг кому понадобится решение, https://gist.github.com/SerCeMan/905ee46db26ee38e7201
@serce: А это для чего нужно?
Есть у меня чисто java-приложение, я в нем хочу поднимать в dev-моде nrepl, lein/boot за собой тянуть не могу. При этому хочется, чтобы при открытии nrepl сессии я сразу оказывался в нужном ns, где объявлены все мои утильные функции
@prepor: "можно указать namespace". А как? в start-server ничего такого нет (https://github.com/clojure/tools.nrepl/blob/0d964f9821fd5c13293af79b83bad29fc954dc65/src/main/clojure/clojure/tools/nrepl/server.clj#L121)
@serce: во-первых я нагнал, во-вторых, я теоретизирую, так как сам этого не делал. но смотри. (речь идет о 1.8 кложе) - http://clojure.org/reference/repl_and_main#_launching_a_socket_server как запускать жвм с репл-сервером. там в примере :accept clojure.core.server/repl смотрим на эту функу https://github.com/clojure/clojure/blob/2932d562e3a809f88130e5434c32aa18e34a67eb/src/clj/clojure/core/server.clj#L177 смотрим на init https://github.com/clojure/clojure/blob/2932d562e3a809f88130e5434c32aa18e34a67eb/src/clj/clojure/core/server.clj#L160 итого: нужно определить свою repl-функцию типа:
(defn repl
"REPL with predefined hooks for attachable socket server."
[]
(m/repl
:init my-repl-init
:read repl-read))
где my-repl-init будет делать все что нужно.
и скормить ее как accept-параметр для сокет-сервера@nicola я на скале привык к logback
на clojure с clojure.tools.logging
тоже вроде норм.
https://clojurians.slack.com/archives/clojure-russia/p1455969749001106
он до фига не кложурик, но зато работает, имеет приятные фичи и работает со всей жава-экосистемой )
в смысле? "логгер" в терминах логбэка это неймспейс просто. их виртуально столько, сколько у тебя неймспейсов (и у всех зависимостей), они выстраиваются в дерево
<root level="info"> <appender-ref ref="STDOUT" /> <appender-ref ref="angryman" /> </root>
все логеры с неймспейсом org.apache.zookeeper будут принимать прежде всего эти настройки, потом уже рутовые
https://github.com/ptaoussanis/timbre без xml справляется
но адаптеры к джавовским приблудовинам придется писать самостоятельно (хотя какие-то уже написали)
https://github.com/ptaoussanis/timbre/blob/master/src/taoensso/timbre/appenders/3rd_party/rolling.clj#L64 сисколл на каждую строчку лога, спасибо