更改 Velocity.Log 文件的位置

2023-11-25

看起来很简单。文档位于http://velocity.apache.org/engine/devel/developer-guide.html#Configuring_Logging说要设置runtime.log属性。这是我所有财产的所得。

velocityEngine.setProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, templatesPath);

            velocityEngine.setProperty("runtime.log", "/path/to/my/file/velocity.log");
            velocityEngine.setProperty("resource.loader", "string");
            velocityEngine.setProperty("string.resource.loader.class", "org.apache.velocity.runtime.resource.loader.StringResourceLoader");
            velocityEngine.setProperty("string.resource.loader.repository.class", "org.apache.velocity.runtime.resource.util.StringResourceRepositoryImpl");

没有找到任何我告诉它放置的日志文件,而是找到放置在旧(初始化文件夹)位置的新错误。有任何想法吗? :D


我在运行时设置一些选项时遇到类似的问题。我通过自定义 VelocityBuilder 和外部 Velocity.properties 文件解决了这些问题,您可以在其中放置所有运行时属性。 这是代码:

public class BaseVelocityBuilder implements VelocityBuilder {
    private VelocityEngine engine;

    private Log logger = LogFactory.getLog(getClass());

    @Autowired
    private WebApplicationContext webApplicationContext;

    public VelocityEngine engine() {
        if(engine == null) {
            engine = new VelocityEngine();

            Properties properties = new Properties();
            InputStream in = null;
            try {
                in = webApplicationContext.getServletContext().getResourceAsStream("/WEB-INF/velocity.properties");
                properties.load(in);
                engine.init(properties);
            } catch (IOException e) {
                e.printStackTrace();
                logger.error("Error loading velocity engine properties");
                throw new ProgramException("Cannot load velocity engine properties");
            }

            IOUtils.closeQuietly(in);
        }

        return engine;
    }
}

看到这一行:

            in = webApplicationContext.getServletContext().getResourceAsStream("/WEB-INF/velocity.properties");
            properties.load(in);
            engine.init(properties);

所以我在/WEB-INF中有一个velocity.properties文件,我在其中放置了一些配置:

    resource.loader = webinf, class

webinf.resource.loader.description = Framework Templates Resource Loader
webinf.resource.loader.class = applica.framework.library.velocity.WEBINFResourceLoader

webapp.resource.loader.class = org.apache.velocity.tools.view.servlet.WebappLoader
webapp.resource.loader.path =

file.resource.loader.description = Velocity File Resource Loader
file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader
file.resource.loader.path =

class.resource.loader.description = Velocity Classpath Resource Loader
class.resource.loader.class = org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
runtime.log='/pathYouWant/velocity.log'

最后在你的 application.xml 中:

    <bean class="applica.framework.library.velocity.BaseVelocityBuilder" />

通过这种方式,您可以为不同的应用程序拥有不同的文件日志,并且当您在生产中进行战争时,sysadm 可以由于生产服务器的 env 配置而更改属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 Velocity.Log 文件的位置 的相关文章

  • MultipartEntity 类型已弃用

    文档说org apache http entity mime MultipartEntity http hc apache org httpcomponents client ga httpmime apidocs org apache h
  • 如何在速度模板中显示图像

    如何在速度模板中显示此图像 显示图像需要什么配置吗 我有速度的java 配置 请帮我 提前致谢 非常感谢glw的热心回复 问题已经解决了 我忘记了电子邮件模板仅采用部署的实时图像路径 而不是像 src pageContext request
  • 如何在应用程序级别管理只读数据库连接

    我们使用的是Java Spring Ibatis MySql 有没有办法利用这些技术在应用程序级别管理只读连接 我希望在只读 MySql 用户的基础上添加额外的保护层 如果 BasicDataSource 或 SqlMapClientTem
  • Apache mod_rewrite 内部到不同的端口

    是否可以使用 mod rewrite 内部重定向 因此地址栏中的 url 不会更改 到同一主机上的不同端口 例如 http host com 8080 gt http host com 9999 myapplication param va
  • 点击取消时 htpasswd 被绕过

    在我的 htaccess 中 我有以下代码 用于保存 admin 区域 如果我提供了错误的用户名密码 它会不断弹出正确的用户名 但如果我按取消 我可以看到我的限制区域 而不是加载错误页面 这是怎么回事 谢谢 AuthName Restric
  • java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V

    我有一个应用程序 可以使用它创建 Excel 文件apache POI 3 17我收到此错误消息apache POI当我运行应用程序时记录Tomcat 这是什么意思 我该如何解决 我最终将其添加到 eclipse ini 文件中 Djava
  • 将子域重定向到 CakePHP 操作

    背景 我有一个 CakePHP 应用程序 位于 m 我想写一个根级别的 htaccess文件 它将重定向网站的 子域 作为操作的参数 例如 我想编写一个重写规则 这将导致像这样的重定向 http mysite myserver com ht
  • 仅当未找到文件时才重定向请求?

    我希望有一种方法可以使用 mod rewrite 和 Apache 来做到这一点 但也许还有另一种方法可以考虑 在我的网站上 我为客户的网站重新设计版本设置了目录 如果网络根目录是 home blah www 客户端目录将是 home bl
  • Tomcat 托管具有多个 SSL 证书的多个虚拟主机

    例如 我有一台使用 Tomcat 7 托管多个网站的服务器 a abc com b abc com c def com d def com 使用tomcat的虚拟主机功能 因此它们各自可能属于不同的webapps文件夹 我们现在正在尝试为每
  • 为什么有人将(Apache mod_expires 参数)ExpiresByType 设置为“访问加 0 秒”?

    在审查答案时这个帖子 https stackoverflow com questions 9933012 how to use mod headers and mod expires to cache 我不明白为什么这里使用 0 秒作为最佳
  • Ubuntu 12.04 上的 PHP 从 5.3 升级到 php 5.6

    我正在按照本教程将 php 从版本 5 3 升级到 5 6 http phpave com upgrade php 53 to php 56 on ubuntu 1204 lts http phpave com upgrade php 53
  • Apache mod_speling 不区分大小写的 URL 问题

    我想要使 用 Apache 的不区分大小写的 URLmod speling模块 但这会产生不需要的 多个选项 列表 而 Apache 文档说 设置后 该指令将拼写更正的操作限制为小写 大写更改 不执行其他可能的更正 我正在全新安装的 Apa
  • PHP 文件由浏览器下载,而不是由本地开发服务器(MAMP)处理

    一切都很顺利 直到我添加AddHandler application x httpd php5s php到本地服务器文档根目录中的 htaccess 文件 根据我正在使用的站点 我经常更改该文件 因为我访问时这样做了http 本地主机 88
  • 我在 apache 中使用乘客 for Rails 时收到 403 错误

    我已经安装了所需的工具 并遵循了几个教程 试图让乘客做出回应 我可以访问公共文件夹 public 500 html 或 422 hml 中的静态文件 昨天我通过虚拟主机进入 发现一些乘客错误 但一段时间后 托管重新启动了服务 从那时起我就无
  • 仅当环境变量具有特定值时如何设置 Apache 标头

    我想在我的 Apache 2 4 配置中设置标头 但前提是环境变量具有特定值 SetEnv ENV NAME prod 我如何仅在以下情况下设置此标头ENV NAME is not prod Header set X Robots Tag
  • Apache mod_rewrite 将双斜杠转换为单斜杠

    我有一个像这样的网址 http example com img php url http example2 com path to image name jpg 所以我通过这个问题创建了一条规则Apache mod rewrite 复杂 U
  • 操作错误:尝试在 ubuntu 服务器中写入只读数据库

    我正在使用 FlaskApp 运行mod wsgi and apache2在 Ubuntu 服务器上 我尝试运行烧瓶应用程序localhost成功 然后部署到ubuntu服务器上 但是当我尝试更新数据库时 出现错误 Failed to up
  • 间歇性 PHP 抽象类错误

    我已经为此奋斗了一段时间 但无法弄清楚 也许其他人也有 或者 Slim PHP Apache 等这里有更深层次的问题 在正常工作几个小时后 我的 Slim 安装将开始给出所有路线均如此 致命错误 类 Slim Collection 包含 1
  • Apache 反向代理的基本身份验证问题

    我想为在 Ubuntu 服务器 12 04 1 上运行的 Apache 反向代理站点添加基本身份验证 网络应用程序是Jenkins http jenkins ci org运行在 Java EE 容器上 我在中添加了以下配置httpd con
  • Apache 网络服务器启动时出现错误[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我刚刚切换

随机推荐

  • 在c++中将日期转换为unix时间戳

    正如一些转换unix时间戳的网站所说 时间戳 2013 05 07 05 01 00 yyyy mm dd hh mm ss is 1367902860 我在 C 中执行此操作的方式 标记与日期不同 这是代码 time t rawtime
  • jquery pjax请求发送两次

    我有一个 Rails 应用程序 但我不断收到 pjax 请求的奇怪行为 当我查看开发日志时 我可以看到正在发出两个请求 第一个请求是 pjax 下一个请求不是 结果页面仍然重新加载 如果有人能帮助我 我将不胜感激 JQuery pjax 插
  • 如何从 NSURLSession.sharedSession().dataTaskWithRequest 获取数据

    class PostFOrData let url NSURL string http 210 61 209 194 8088 SmarttvWebServiceTopmsoApi GetReadlist var picUrl NSURL
  • Java 源代码被 Intellij 中的反编译文件替换

    当我使用以下命令打开特定课程时Ctrl 右键单击我应该被重定向到一个包含 java 源代码的窗口 其中包含所有行和适当的注释 但我得到了一个带有反编译的 class 文件的窗口 我尝试停用反编译器插件 但它不起作用 如果我添加http do
  • 如何在Python中清空套接字?

    我需要清空套接字上的数据 确保没有任何内容可接收 不幸的是 python 套接字模块中没有此功能 我已经这样实现了一些东西 def empty socket sock remove the data present on the socke
  • VBA 中的格式(SomeDate,"MM/dd") = "12-15"

    我正在 Excel 中编写一个 VBA 宏 用于分析电子表格中的数据并发送电子邮件 在这个宏中 我必须附加格式为 MM dd 的日期 但输出的格式为 MM dd 所以问题是 为什么我的斜杠被破折号取代了 为简单起见 我已将代码简化为此示例
  • Marketplace Windows Phone Beta 测试错误代码:805a0194

    在市场中添加应用程序进行 Beta 测试后 当我尝试打开应用程序 Beta 测试人员中的链接时 显示错误代码 805a0194 并且没有一个测试人员可以下载应用程序进行测试 该怎么办 这是什么错误 将应用程序添加到应用程序中心已经过去了 2
  • GS1条码解析

    我们需要解析对方提供的 GS1 datamatrix 条码 我们知道他们将使用 GTIN 01 批号 10 有效期 17 序列号 21 问题是条码阅读器输出一个字符串 格式如下 01076123456789001710050310AC345
  • 随机不重复?

    我想编写一个程序 以随机顺序显示列表的所有元素而不重复 在我看来 它应该有效 但只能重复打印这些元素 import random tab for i in range 1 8 item random choice house word co
  • 如何使用 Python 单击 HTML 页面上的某些链接时打开 Windows 文件夹

    我正在编写以下程序 import os filepath r C TestData openfolder html abc open filepath w abc writelines abc writelines a href os st
  • 设置必须采用“名称=值”的形式。不知道该怎么办

    因此 我正在解析 Azure 存储帐户的连接字符串 当我到达使用连接字符串的应用程序页面时 编译器捕获一个异常 指出 设置必须采用 名称 值 的形式 这是否意味着我应该更正设置 appSettings 的 app config 文件中的某些
  • Angular 2 令人惊叹的动画

    Angular 2 RC2 刚刚问世 我想知道它是否已经支持交错动画 ngFor DSL语言文档提到group and sequence但没有任何形式的摇晃 RC2中不包含交错动画吗 我不确定我是否同意 G nter 的观点 即 ng co
  • 如何修复“模块‘tensorflow’没有属性‘估计器’”错误

    我正在使用 conda 通过 YAML 创建的 env pip 在我的 Linux Mint 盒子上设置 Tensorflow v1 13 1 环境 设置后 每当我尝试导入时tf estimator我收到AttributeError标题中描
  • 如何将 tweepy Twitter 流保存到文件中?

    我有一个工作脚本 可以成功收集提到 stackoverflow 的推文 但是 我想在 iPython 中运行该脚本 而不是执行单独的 py 文件 理想情况下 我只想打开它的 ipyb 文件 选择全部运行 然后让它运行一周左右 当然不要关闭我
  • 如何避免 cmd.exe 弹出命令窗口

    我有一个命令 cmd exe c ping 1 1 1 1 n 1 w 10000 echo second command goes here 但执行时它会打开一个命令窗口 有没有办法避免弹出命令窗口 PS 我无法从那里删除 cmd exe
  • 使用 Fetch API 读取分块的二进制响应

    如何使用 Fetch API 读取二进制分块响应 我正在使用以下代码 该代码可以从服务器读取分块响应 然而 数据似乎以某种方式编码 解码 导致getFloat32有时会失败 我尝试使用curl 读取响应 效果很好 这让我相信我需要做一些事情
  • 在 constrOptim 中设置约束

    有没有一种简单的方法可以在 constrOptim 函数中为以下约束设置 theta ui ci c1
  • 如何使用 Eloquent 对分组结果进行排序?

    我已经尝试解决这个问题有一段时间了 但似乎无法使其发挥作用 我有一张与此类似的桌子 表 问题 id yearly issue year stock created at updated at magazine id 1 10 2000 1
  • 如何使用 HTML 验证日期范围?

    或者 是否可以使用 HTML 验证另一个字段的值 一个常见的示例是选择一个日期范围 其中 起始 日期应小于或等于 截止 日期 如果您可以在语法中使用元素引用 则以下内容将描述值之间所需的关系
  • 更改 Velocity.Log 文件的位置

    看起来很简单 文档位于http velocity apache org engine devel developer guide html Configuring Logging说要设置runtime log属性 这是我所有财产的所得 ve