问题标签 [programmatic-config]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 log4j 中集成编程配置?
我正在使用 Log4j 2.0.1 版本,由于组织政策,我暂时无法使用任何更高版本。
我的日志记录要求
- 如果 customDebug=true 作为环境变量,则启用调试日志记录
- 应该生成 2 个日志文件——一个主日志(基于上述日志的信息/调试)和错误日志。
- 有一个基于大小的滚动策略
- 日志文件的目录是动态的。
- 格式应该带有特定样式的时间以及线程 ID。
我尝试通过以下方式实现 log4j 的编程配置——
CustomConfigFactory.java >>
CustomJsonConfiguration.java >>
其中 aa.bb.cc.dd 指的是下面 MyClass 的包名。
将使用此记录器的MyClass.java >>
示例测试方法作为 testng 类的一部分,用于测试上述类 >>>
但以上似乎不起作用,并且没有生成任何日志文件,即日志记录不起作用。我主要参考了这个来实现-- https://logging.apache.org/log4j/2.x/manual/customconfig.html#Hybrid
如果有人可以帮助我完成此实施,我将不胜感激。欢迎所有建议!
提前致谢。
编辑 >>> 以下是合并@VikasSachdeva 的评论后的配置 json。即使在 my_main.log 中记录了错误条件,错误文件仍然为空
kerberos - 从 shellscript 存储/检索 kinit 密码
我在 keberized 环境中自动配置 VM。创建新服务器后,它需要加入网络。为此,我需要使用登录到 kerberos 服务器kinit
,然后使用net ads join
.
对我来说,挑战是在哪里存储需要传递给 kinit 的主体密码以及如何安全地检索它。当然,要求是自动化程序必须是唯一可以从存储密码的地方检索密码的程序。到目前为止我考虑过的选项: 1) 我已经知道将密码存储在保险库中的选项(Hashicorp、Cyber Ark 等),但是实施/管理需要很长时间,而且价格昂贵。2)将加密的密码存储在环境变量中的另一个VM(在同一专用网络中)中,并在运行时ssh到该VM并获取密码,解密,然后将其scp到新创建的VM。
这里的任何安全专家是否看到 (2) 的问题?如果是,那些是什么?如果有的话,还有哪些其他选择?
提前致谢
ios - 当以编程方式约束时,如何在向下滚动时隐藏导航栏?
我正在以编程方式完成所有 UI,为了避免庞大的视图控制器,我有一个 UIView 类型的类,我在其中声明了所有 UI 元素。
我像这样声明我的滚动视图:
声明后。我在 ViewController 中创建了一个 RegisterUIView 实例。并且在viewWillAppear
andviewWillDisappear
我使用了变量hidesBarsOnSwipe
, 来隐藏导航栏。当我向下滚动时,栏隐藏,但当我向上滚动时,栏并没有隐藏。
我在这里读到其他问题,我需要将顶部约束设置为超级视图。如何设置超级视图的约束?,当我尝试设置它时,应用程序崩溃,显然是因为没有超级视图。
ios - Swift - SwipingController Programmatic - 按钮不起作用
我创建了 SwipingController 应用程序。该应用程序应该具有使用手势滚动的功能以及带有 2 个按钮和 UIPageControl 的管理栏。
目前,这些按钮应该只在控制台中打印一条文本消息,但事实并非如此。
我想将整个页面管理栏添加到一个单独的文件中。
当它进入主控制器时,整个功能都会起作用。
我不想粘贴所有代码,所以它提供了 git 的链接
https://github.com/SebaKrk/SwipingControllerProgrammatic.git
java - 使用 ConfigurationFactory(Log4j 的编程配置)时如何从 application.properties 读取属性?
我正在使用 log4j 的编程配置,如以下链接所示:http: //logging.apache.org/log4j/2.x/manual/customconfig.html。
我希望根据 application.properties 选择 appender我已经尝试了关于如何访问 Spring Boot 中 application.properties 文件中定义的值的
所有答案。但它们都不起作用,给出像Spring Boot - Environment @Autowired throws NullPointerException这样的错误。上述链接中提到的解决方案也无法正常工作。
java - Spring安全程序化内存中UserDetailsService:用户名和角色,无密码
更新:我无法解决这里提出的问题,但我的问题最简单和最有效的解决方案是不使用内存中的 userDetailsService。我得到的解决方案的详细信息在后续帖子中。
概括
使用旧的 SpringSecurity.xml,我不需要通过内存中的 userDetailsService 提供密码来支持其他角色。非常方便,尤其是在开发阶段。
使用编程方法很容易提供用户名+密码+角色,但不清楚如何仅提供用户名+角色。我想学习如何。
例子
在下面的示例中,“用户”通过 adAuthProvider 在 Active Directory 中进行身份验证和授权。编程示例是 SecurityConfig configure(AuthenticationManagerBuilder auth) 方法的全部内容。
security.xml:(这工作了多年,我想复制什么)
失败的编程尝试:(直接翻译上述内容,请注意“用户”没有设置密码......就像上面的 XML 一样)。服务器启动期间抛出:(org.springframework.beans.BeanInstantiationException:无法实例化 [javax.servlet.Filter]:工厂方法“springSecurityFilterChain”抛出异常;嵌套异常是 java.lang.IllegalArgumentException:无法将空值或空值传递给构造函数)
成功,为“用户”添加密码:(异常消失)
问题:
- 我假设 XML 和编程配置应该是等效的。因此,我假设有一种方法可以避免向内存中的 userDetails 提供密码。这个对吗?
- 假设上述情况属实,我该怎么做?您能否为整个方法提供一个示例?
我意识到这可能是一个微不足道的问题。我搜索并轻松查看了 100 个示例,但它们都包含密码。没有一个人展示了如何仅将内存用于授权 - 依靠 Active Directory 身份验证提供程序来验证密码。
eclipse - 编写程序以编程方式配置 Eclipse CDT
我正在使用 Eclipse 进行 C++ 开发。每次创建新工作区时,我都需要通过一系列繁琐的手动步骤来重复我已经在其他工作区上执行的相同配置步骤。我正在使用 perforce 视角进行团队合作。一些配置步骤包括识别 perforce 客户端和到 perforce 服务器的连接信息。完成所有手动配置步骤通常需要我大约 10 分钟,这是浪费时间,因为我应该能够在几秒钟内完成。我正在尝试自动执行此任务,并且正在寻找处理它的最佳方法。我想我可以为我的一个客户检索元数据 .settings 目录并使用一些脚本来编辑它以反映特定于我的工作区的信息(例如我的 perforce 客户端的名称,或构建配置的目标文件的路径)。但我想知道是否有更优雅的方式直接与 Eclipse 程序交互,以便在初始工作区创建后以编程方式修改配置。如果确实有用于修改 CDT 工作区设置和首选项的编程 API,我可以使用哪些语言?我在哪里可以找到相关的文档和教程资源?Python、Perl 或 C++ 将是理想的选择。如果确实有用于修改 CDT 工作区设置和首选项的编程 API,我可以使用哪些语言?我在哪里可以找到相关的文档和教程资源?Python、Perl 或 C++ 将是理想的选择。如果确实有用于修改 CDT 工作区设置和首选项的编程 API,我可以使用哪些语言?我在哪里可以找到相关的文档和教程资源?Python、Perl 或 C++ 将是理想的选择。
java - Log4j2 将新插件和附加程序动态添加到 root
我有一个应用程序可以动态地(通过类加载器)加载一个不同的 jar,该 jar 也有一个 log4j2.xml 配置。问题 - 我动态加载的 jar 在 log4j2.xml 文件中定义了应用程序必须使用的自定义附加程序。一旦我的应用程序动态加载 jar,它就会忽略加载的 jar 的 log4j2.xml,因此我需要自己以编程方式添加缺少的 appender。
动态加载的 jar原始 log4j2.xml:
现在,由于我加载的 jar 需要存储在自定义 MyAppender 中的数据,因此我需要动态添加 appender(和插件定义),因为使用的是我的 log4j2.xml 而不是加载的 jar。
我在做什么——这不起作用——因为 rootLoggerConfig appendersRef 列表没有更新(而且我没有看到任何方法替换/更新它):
我错过了什么?我只是想添加一个未在我的 log4j2.xml 文件中定义的新自定义附加程序,并以编程方式将其添加到根记录器,因此一旦添加,每条日志记录消息都将记录在那里。
任何帮助将不胜感激,那里没有足够的例子。
注意 - 我看过:
无法动态添加 log4j2 附加程序以及 如何在运行时以编程方式添加 Log4J2 附加程序?在我发布我的代码之前还有更多示例。在这些情况下,附加程序已在 xml 文件中定义