0

我使用这些 WAR 制作和部署步骤构建了一个 WAR 文件并部署到 Jetty 9 ,这是对 Pedestal 建议的改编。这个过程过去对我有用,但目前,Jetty 不会启动应用程序。

我也找不到任何有用的日志。这是我的主要问题。我看过这些地方:

  • /var/log/jetty/current只告诉我这个:

2014-03-29_16:23:24.058:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@181d4997{/,file:/tmp/jetty-0.0.0.0-8080-myapp.war-_-myapp.domain.com-5203978721479585979.dir/webapp/,AVAILABLE,myapp.domain.com}{/opt/myapp/myapp.war}
2014-03-29_16:23:24.14610 2014-03-29 16:23:24.126:INFO:oejs.ServerConnector:main: Started ServerConnector@5cb1d518{HTTP/1.1}{0.0.0.0:8080}
  • /opt/jetty/logs- 根本不包含任何文件
  • /opt/myapp- 包含myapp.war但没有日志

我还尝试-DDEBUG=true -Dorg.eclipse.jetty.LEVEL=DEBUG在启动时添加到我的 Jetty JVM 选项,但额外的登录/var/log/jetty/current并没有告诉我 WAR 文件启动出了什么问题。

尽管日志记录在开发中有效(例如,使用lein run-dev),但如果我在日志记录配置中犯了某种错误,我不会感到惊讶。我正在使用Pedestal 服务模板提供的标准logback.xml 。

关于底层应用程序错误,我也有一些猜测。这很可能是由于最近应用程序依赖项的变化(我添加了 Datomic)或在启动时连接到 Datomic。

这是我的 project.clj

(defproject myapp-service "0.1.0-SNAPSHOT"
  :description "A web app"
  :url "http://myapp.domain.com"
  :dependencies
  [[org.clojure/clojure "1.6.0"]
   [org.clojure/tools.reader "0.8.3"]
   [com.datomic/datomic-pro "0.9.4699"
    :exclusions [org.slf4j/slf4j-api org.slf4j/slf4j-nop commons-codec]]
   [io.pedestal/pedestal.service "0.2.2"
    :exclusions [com.fasterxml.jackson.core/jackson-core]]
   [io.pedestal/pedestal.service-tools "0.2.2"
    :exclusions [com.fasterxml.jackson.core/jackson-core]]
   [enlive/enlive "1.1.5"]
   [validata "0.1.5"]]
  :repositories
  {"my.datomic.com"
   {:url "https://my.datomic.com/repo"
    :username "email@domain.com"
    :password "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}
  :profiles
  {:dev
   {:source-paths ["dev"]
    :dependencies
    [[io.pedestal/pedestal.jetty "0.2.2"]]}}
  :min-lein-version "2.0.0"
  :resource-paths ["config", "resources"]
  :aliases
  {"run-dev" ["trampoline" "run" "-m" "myapp-service.server/run-dev"]}
  :repl-options
  {:init-ns user
   :init
   (try
     (use 'io.pedestal.service-tools.dev)
     (require 'myapp-service.service)
     ; HACK: Allow referencing non clojure.core symbols in :init
     (eval '(init myapp-service.service/service
             #'myapp-service.service/routes))
     (catch Throwable t
       (println "ERROR: There was a problem loading"
                "io.pedestal.service-tools.dev")
       (clojure.stacktrace/print-stack-trace t)
       (println)))
   :welcome (println
              "Welcome to pedestal-service!"
              "Run (tools-help) to see a list of useful functions.")}
  :main ^{:skip-aot true} myapp-service.server)

所以,重申我的主要问题,我如何让日志记录工作?其他一切都将随之而来。

4

1 回答 1

0

尴尬的是,我的问题是 DNS。记录很好。

于 2014-03-29T17:58:29.360 回答