<logger name="ipc2" level="Trace" writeTo="targetmacine2" />
时间: 2024-04-15 07:22:50 浏览: 20
根据提供的引用内容,我无法回答你关于<logger name="ipc2" level="Trace" writeTo="targetmacine2" />的问题。因为引用是一个Java异常的错误信息,而引用[2]是关于复制文件的命令。请提供更多关于<logger name="ipc2" level="Trace" writeTo="targetmacine2" />的上下文信息,以便我能够更好地回答你的问题。
相关问题
<?xml version="1.0" encoding="GB2312" ?> <!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd"> <log4j:configuration debug="true"> <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> <param name="Encoding" value="UTF-8" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p %d{MM-ddHH:mm:ss,SSS} %m (%F:%L) \n" /> </layout> </appender> <logger name="java.sql"> <level value="debug" /> <appender-ref ref="console"/> </logger> <logger name="org.apache.ibatis"> <level value="info" /> <appender-ref ref="console"/> </logger> <root> <level value="debug" /> <appender-ref ref="STDOUT" /> </root> </log4j:configuration>为什么这个log4j配置代码不生效
你的 log4j 配置文件中定义的 appender 名称为 STDOUT,但是在 logger 中引用的时候却使用了 console,这会导致日志无法正常输出。你需要将 logger 中的 appender-ref ref 属性改为 STDOUT,即:
```
<logger name="java.sql">
<level value="debug" />
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.apache.ibatis">
<level value="info" />
<appender-ref ref="STDOUT"/>
</logger>
```
另外,你的 log4j 配置文件中的编码方式为 GB2312,而在 appender 中却使用了 UTF-8 编码。你需要将编码方式统一为一种,比如改为 UTF-8。
如果以上修改完成,还是无法生效,你可以检查一下 log4j 的 jar 包是否正确引入,并且检查一下 log4j 的日志级别是否符合你预期。
<logger name="" level="DEBUG" /> 通配符不生效
是的,通配符在 `<logger>` 标签中的 `name` 属性不生效,因为 `name` 属性只匹配精确的 logger 名称。如果要使用通配符,可以在 `name` 属性中使用 `+` 前缀,表示添加到 logger 名称的后面,例如:
```xml
<logger name="com.example" level="DEBUG" />
<logger name="com.example.foo" level="INFO" />
<logger name="com.example.+*" level="WARN" />
```
上述配置表示:
- `com.example` logger 的日志级别为 `DEBUG`
- `com.example.foo` logger 的日志级别为 `INFO`
- `com.example.*` 包括 `com.example.foo` logger 在内的所有以 `com.example.` 开头的 logger 的日志级别为 `WARN`。
注意,通配符匹配的是 logger 的名称,而不是 logger 的类别或者包名。如果你需要匹配包名或者类别,可以使用 `<logger>` 标签的 `class` 或者 `package` 属性。例如:
```xml
<logger class="com.example.Foo" level="DEBUG" />
<logger package="com.example" level="INFO" />
<logger name="com.example.+*" level="WARN" />
```
上述配置表示:
- `com.example.Foo` 类的 logger 的日志级别为 `DEBUG`
- `com.example` 包下的所有 logger 的日志级别为 `INFO`
- `com.example.*` 包括 `com.example.Foo` 类的所有 logger 的日志级别为 `WARN`。