
Anatoliy
17.07.2016
20:39:58
просто я думал что это версия отдельного пакета
а не всей akka
сейчас еще раз обновлю и попробую
libraryDependencies ++= Seq(
"org.json4s" %% "json4s-native" % "3.3.0",
("org.slf4j" % "slf4j-nop" % "1.6.4").exclude("ch.qos.logback","logback-classic"),
"org.mariadb.jdbc" % "mariadb-java-client" % "1.3.6",
"com.typesafe.play" %% "play-slick" % "1.1.1",
"com.typesafe.slick" %% "slick" % "3.1.1",
"com.typesafe.akka" %% "akka-actor" % "2.4.6",
"com.typesafe" % "config" % "1.3.0",
"com.typesafe.akka" %% "akka-slf4j" % "2.4.6"
)
Вот так лучше?

Google

Vladimir
17.07.2016
20:42:09
Зануда mod on: Вообще судя потому что опыта со Scala достаточно мало я бы рекомендовал не брать Slick и более того цеплять play только в случае если есть абсолютная уверенность в его необходимости. Зануда mod off

Anatoliy
17.07.2016
20:42:41
Вот по той причине что опыта мало и приходится цеплять play, потмоу как без него вообще неполучилось заставить ее работать

Wystan
17.07.2016
20:43:16
а что именно из плей используется и слика?

Vladimir
17.07.2016
20:43:20
а опыт с java был или это первый проект в JVM мире вообще?

Anatoliy
17.07.2016
20:44:07
можно считать что не был, это первый более менее не маленький проект который действителньо что-то требует, остальное - по мелочам было
play позволяет если я не ошиаюсь строить модели табличек и с ними работать
хотя... могу и ошибаться и он мог остаться с попытки когда я еще хотел запустить это через конфиг, видимо копировал с сайта и оттуда оно вытянулось
щас уберу и по идее ничего не сломается

Vladimir
17.07.2016
20:46:04
ИМХО: вам лучше вручную создать классы модели, и написать скрипты создания табличек. В таком случае вы хотя бы будете точно понимать где, что и как у вас происходит

Anatoliy
17.07.2016
20:46:34
так я их вручную и описывал

Vladimir
17.07.2016
20:47:37
А главное где какие типы лежат. В начале изучения вам нужно использовать как можно меньше магии автосоздания и автогенерации и автопохода. Может быть стоит даже вместо SLick использовать просто JDBC c ручным разбором ответом и ручным написанием запросов.

Anatoliy
17.07.2016
20:49:45
Я думал про это, но... мне на работе просто очень хватает создания руками sql запросов. Их там просто никакой автогенератор не возьмет. Портянки на пару страниц...
Потому когда на своем проекте появилась возомжность не писать их руками - тем более кучу однотипных - решил воспользоваться

Wystan
17.07.2016
20:50:38
С ORM вообще постоянная проблема. Какие-то сложные джойны не очевидно как разворачиваются. С другой стороны, если есть сложные джойны - это признак плохой архитектуры.

Google

Anatoliy
17.07.2016
20:51:28
я могу показать один sql запрос который в моем проекте есть, если сможете оптимизировать - скажу спасибо, но я пока такого способа не вижу( и уж тем более я не вижу как это запустить через слик :)
Хотя сам запрос мне и не нравится - не использовать его я пока не могу

Vladimir
17.07.2016
20:52:03
Адуха в канале? :)

Anatoliy
17.07.2016
20:52:36
Адуха?

Grigory
17.07.2016
20:53:05
целый день не заходил в телеграм; вечером зашел - 270+ сообщений;
не узнаю конфу

Anatoliy
17.07.2016
20:53:18
[success] Total time: 4 s, completed 17.07.2016 22:49:13
[info] Compiling 21 Scala sources to C:\Users\Anatoliy\IdeaProjects\poeapi\target\scala-2.11\classes...
[warn] there were three feature warnings; re-run with -feature for details
[warn] one warning found
[info] Running Main
Запустилось, но - логов с акторов опять нет(
akka {
loggers = ["akka.event.slf4j.Slf4jLogger"]
loglevel = "DEBUG"
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
} - не помогло в общем
Видимо там еще что-то надо подключить, буду пробовать сейчас

Wystan
17.07.2016
20:56:37
в 12 ночи самое то

Anatoliy
17.07.2016
20:57:15
завтра в 7 на работу) самое время :) впрочем скорее всего я пока просто отправлю в работу то что есть, а доделывать действительно придется завтра. Просто была надежда что оно заработает проще :)

Vladimir
17.07.2016
20:57:49
продакшен?

Anatoliy
17.07.2016
20:58:02
угу

Wystan
17.07.2016
20:58:10
в logback вообще полезно разобраться.
вроде как единственный рудимент из мира джавы который нужно понимать

Anatoliy
17.07.2016
20:58:26
полезно, но он просто уже не первый день мне мозг взрывает)
просто у меня пока две проблемы которые действительно сильно раздражают - это невозможность писать логи выше уровня info в файл, и невозможность использовать конфиг для подключения к БД. приходится писать просто все в коде....

Vladimir
17.07.2016
21:00:40
а файл logback.xml есть в проекте?

Anatoliy
17.07.2016
21:00:51
в resources
как и конфиг

Google

Vladimir
17.07.2016
21:01:12
в нём должено быть что-то вида:
<root level="debug">
<appender-ref ref="console"/>
</root>

Anatoliy
17.07.2016
21:01:20
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!— encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default —>
<encoder>
<pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT"/>
</root>
<logger name="slick.jdbc" level="debug"/>
</configuration>
весь файл

folex
17.07.2016
21:01:43
logback.xml если не видит, можно чз -Dlogback.configurationFile= передать

Vladimir
17.07.2016
21:01:43
так вот написано же
root level="info"

Anatoliy
17.07.2016
21:02:08
написано, там же паттерн есть: <pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
а выдает [INFO] [07/17/2016 23:02:04.610] [system-akka.actor.default-dispatcher-2] [akka://system/user/mainActor/DBActor] Убиваем записи во вкладке stash id: 2a731d91eff198421c9dd5e7b94562b59e7fe83eab0ea0ff4f89da9f90def671
07/17/2016
не похоже на YYYY-MM-dd
вывод - он не используется

folex
17.07.2016
21:03:06
выдает это куда? в файл или в stdout?
При старте приложения логбэк пишет, какой конфиг взял

Anatoliy
17.07.2016
21:03:27
не пишет

folex
17.07.2016
21:03:38
попробуйте через опцию выше передать

Vladimir
17.07.2016
21:03:39
ой вэй

folex
17.07.2016
21:03:46
-Dlogback.configurationFile=

Anatoliy
17.07.2016
21:04:13
с опцией выше другая проблема - я не смогу так поступить на продакшене, потому приходится поступать так...

folex
17.07.2016
21:04:16
И может логбэк в зависимостях не прописан например
Почему не сможешь?

Anatoliy
17.07.2016
21:04:33
на продакшене вообще запуск идет через sbt run

Google

folex
17.07.2016
21:04:43
в sbt run нельзя передать опции?

Ivan
17.07.2016
21:04:43
Жесть

Anatoliy
17.07.2016
21:04:43
как туда добавить еще аргументы - я не знаю

folex
17.07.2016
21:04:57
Ну это можно сделать например в build.sbt
или в Build.scala, что у вас там

Anatoliy
17.07.2016
21:05:08
.sbt

folex
17.07.2016
21:06:09
javaOptions ++= Seq("-Dlogback.configurationFile=/etc/path/to/logback.xml"), в настройках проекта

Anatoliy
17.07.2016
21:06:28
спасибо, сейчас попробую, относительный путь работать будет?

folex
17.07.2016
21:06:34
не знаю :)
И посмотрите на tanuki wrapper

Admin
ERROR: S client not available

folex
17.07.2016
21:06:45
и твиттер еще какой-то враппер для своих проектов использует
забыл название
monit, во
http://mmonit.com/monit/ сам не пользовался, но в эту сторону стоит посмотреть

Anatoliy
17.07.2016
21:08:13
А что он дает?

folex
17.07.2016
21:08:14
может кто в чате использует
tanuki wrapper помогает демонизировать

Anatoliy
17.07.2016
21:08:47
я через докер эту штуку запускаю

folex
17.07.2016
21:08:58
у них есть свой init скрипт, и появляется возможность чз service управлять

Google

Anatoliy
17.07.2016
21:08:58
если правильно вас понял

folex
17.07.2016
21:09:06
плюс он за джвм следит и преедает туда параметры сам

Anatoliy
17.07.2016
21:09:18
мне не нужен service, там всё изолировано

folex
17.07.2016
21:09:29
ну, тут уже подсказать не могу :)
в докер ничо не деплоил

Anatoliy
17.07.2016
21:09:55
попробуйте) правда с ним в начале тоже голова болит) но - удобно)
javaOptions ++= Seq("-Dlogback.configurationFile=resources/logback.xml")
вот так НЕ заработало, щас попробую полный путь, но самое паршивое что он может меняться

Vladimir
17.07.2016
21:12:44
(офтопик мод) Вообще надо иметь силу воли что бы релизить проетк в таком состоянии

Anatoliy
17.07.2016
21:12:57
я больше скажу, им пользуются :)

folex
17.07.2016
21:13:04
сам по себе?
Не, нам и без докера хорошо, но спасибо за совет :)
Нам если понадобится LXC за глаза хватит

Anatoliy
17.07.2016
21:13:27
если указать полный путь - так же НЕ работает

Wystan
17.07.2016
21:13:45
Ну в банках пишут такой трешак, а там могут быть миллионные переводы. чому удивляться-то

Vladimir
17.07.2016
21:14:28
Та не... всё норм чё... (табличка сарказм)

Anatoliy
17.07.2016
21:15:10
ну так результат нужен, а тут работает хоть как-то. не идеально - да, но - идеал недостижим, делать лучше - необходимо, так я и стараюсь делать лучше :)
в общем не заработало с -Dlogback.configurationFile

Ivan
17.07.2016
21:15:39
Все верно делаешь идеальный код я за 5 лет программирования еще не видел. Зато поделки работающие десятилетия да

Vladimir
17.07.2016
21:16:22
опасная тема для беседы :)

Anatoliy
17.07.2016
21:16:28
Просто после того как я полгода переписывал проект с нуля чуть ли не каждые две недели что бы было "идеально" - я плюнул и просто сделал. И той штукой пользовались :)
Конечно опасная :)
Но вообще - я действительно надеюсь сделать подключение к БД через конфиг и наконец настроить нормально логгирование :)

Vladimir
17.07.2016
21:20:17
Вообще хорошо что есть места где можно так спокойно эксперементировать с продакшеном :)