我正在研究Java Web项目。我使用Wildfly10。我想将其与logback一起使用。我做了一些配置:
pom.xml
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.24</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.1</version>
</dependency>
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender" >
<encoder>
<pattern>[%date] [%thread] [%-5level] [%logger{36}] - %msg%n </pattern>
</encoder>
</appender>
<logger name="com.pr" level="debug" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
jboss-deployment-structure.xml
<jboss-deployment-structure>
<deployment>
<exclude-subsystems>
<subsystem name="logging" />
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>
问题是我期望输出如下:
[2017-02-26 12:32:23,671] [ServerService线程池-179] [调试]
[o.springframework.jndi.JndiTemplate]-查找JNDI
但是我得到了:
12:32:23,671信息[stdout](ServerService线程池-179)[2017-02-26 12:32:23,671]
[ServerService线程池-179] [DEBUG] [o.springframework.jndi.JndiTemplate]-查找JNDI
因此,看起来jboss在一开始就添加了一些东西。如何预防呢?
WildFly将两者包装在一起System.out
并System.err
记录在记录器中。如果要使用写入流中的附加程序或处理程序,则需要使用java.io.FileDescriptor.out
(或err
),或者需要为stdout
或创建新的记录器类别,stderr
以及为console- handler
分配给记录器的新记录。
/subsystem=logging/pattern-formatter=stdout:add(pattern="%s%n")
/subsystem=logging/console-handler=stdout:add(autoflush=true, target=System.out, named-formatter=stdout, level=ALL)
/subsystem=logging/logger=stdout:add(use-parent-handlers=false, handlers=[stdout], level=ALL)
上面的CLI脚本应从记录器中删除默认模式stdout
。
standalone.xml中的相应表示形式如下所示:
<console-handler name="stdout" autoflush="true">
<level name="ALL"/>
<formatter>
<pattern-formatter pattern="%s%n"/>
</formatter>
</console-handler>
<logger category="stdout" use-parent-handlers="false">
<level name="ALL"/>
<handlers>
<handler name="stdout"/>
</handlers>
</logger>
我正在做java web项目。我用野花10。我想和logback一起使用。我做了一些配置: pom.xml logback.xml jboss-deployment-structure.xml 问题是我期待这样的输出: [2017-02-26 12:32:23,671][ServerService线程池--179][DEBUG][o.springframework.jndi.JndiTemplat
我的应用程序看起来像: 如果用户访问 /game下的页面并且没有登录,我想将他们重定向到登录页面。 如何在所有路由器中以优雅的方式进行?
容器在分派请求到 servlet引擎之前建立调用者身份。在整个请求处理过程中或直到应用成功的在请求上调用身份认证、登录或退出,调用者身份保持不变。对于异步请求,调用者身份建立在初始分派时,直到整个请求处理完成或直到应用成功的在请求上调用身份认证、登录或退出,调用者身份保持不变。 在处理请求时登录到一个应用,精确地对应有一个有效的非空的与请求关联的调用者身份,可以通过调用请求的 getRemoteU
问题内容: 我的应用看起来像: 如果用户访问/ game下的页面并没有登录,我想将他们重定向到登录页面。 如何在所有路由器中做到优雅? 问题答案: 基本思想是使用自定义组件(在下面的示例中为PrivateRoute)包装需要身份验证的路由。PrivateRoute将使用某种逻辑来确定用户是否已通过身份验证,然后确定是否通过身份验证。允许请求的路由呈现或重定向到登录页面。 在react-router
问题内容: JSON.NET框架可以将XML转换为JSON,但是它使用JSON中的@符号作为属性。我宁愿在将其发送到视图之前将其删除。最好的方法是什么? 我知道我可以直接进行替换,但是@字符可能与某个地方相关,因此不应替换。有正则表达式吗? 问题答案: 我花了很长时间才找到正确的答案,所以我想分享一下: 输出:
记录器文件中的日志- org.springframework.Security.Access.event.loggerlistener-安全授权失败,原因是:org.springframework.Security.Access.accessdeniedexception:访问被拒绝;通过身份验证的主体:org.springframework.security.authentication.ano