如何使用sbt-native-packager添加流程参数?

时间:2016-09-17 12:35:59

标签: sbt sbt-native-packager

如何使用sbt-native-packager配置添加流程参数?我想将重定向进程stderr的选项添加到文件中?得到这样的结果: <?php require_once 'database.php'; require_once 'functions.php'; $content_pic = false; $id = $_POST['id']; $title = trim($_POST['title']); $text = trim($_POST['text']); if (!empty($_FILES["content_pic"])) { if ($_FILES["content_pic"]["error"] == UPLOAD_ERR_OK) { $uploads_dir = __DIR__ . '/files'; $tmp_name = $_FILES["content_pic"]["tmp_name"]; $name = $_FILES["content_pic"]["name"]; if (move_uploaded_file($tmp_name, "{$uploads_dir}/{$name}")) { $content_pic = "files/{$name}"; } } }else{ } $db = database_connect(); $stmt = $db->prepare($select_query); $stmt->execute(array($id)); $result = $stmt->fetch(PDO::FETCH_ASSOC); $stmt = $db->prepare("UPDATE content SET title = ?, text= ?, content_pic = ? WHERE id = ? "); header("Location: item_view.php?id=" . $id); exit();

我使用sbt-native-packager 1.2.0-M5构建deb包,sudo -u app bash -c "app >>/var/log/app/stderr.log 2>&1"日志中的例外,仅在stderr中。此外,我必须在崩溃后手动删除app pid,如果它存在,那么我在stderr中有错误。

我的plugins.sbt:

JavaServerAppPackaging, JDebPackaging, SystemdPlugin, UpstartPlugin

我的build.sbt:

resolvers += Resolver.bintrayRepo("sbt", "sbt-plugin-releases")

// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.8-netty-4.1")

addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.2.0-M5")

addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.8.2")

addSbtPlugin("com.lightbend.sbt" % "sbt-javaagent" % "0.1.1")

libraryDependencies += "org.vafer" % "jdeb" % "1.3" artifacts (Artifact("jdeb", "jar", "jar"))

ps我找到了一个解决方法,在ubuntu 16.04中我可以使用journald来收集系统中的所有日志。

1 个答案:

答案 0 :(得分:0)

感谢您使用所有相关信息更新问题。这里有几件事。

只有一个Systemloader插件

您启用SystemdPluginUpstartPlugin。如果它有效,它只会偶然发挥作用。没有版本的native-packager被设计为在单个构建模块中支持单个包类型的多个系统加载器。

解决方案是创建启用了相关系统加载器的子模块。

登录到stderr

关于systemd,你是对的。它提供了捕获进程日志输出的工具。如果您愿意,可以将您的发现添加到native-packager文档中(有systemd plugin section)。

native-packager中的upstart支持非常简单。由于Ubuntu正在切换到systemd并且您可以随时回退到systemv,因此没有大量的requeset。这让我找到了解决问题的方法。

您可以使用支持daemon_log_fileSystemVPluginsystemv documentation为您提供了必要的详细信息。

欢呼声, 缪奇