我目前在班上使用slf4j logger:
<?php
if(!empty($_POST['bedrooms_selection'])){
$services[]='Bedrooms: '.$_POST['bedrooms_selection'];
}
if(!empty($_POST['dining_selection'])){
$services[]='Dining Rooms: '.$_POST['dining_selection'];
}
if(!empty($_POST['family_room_selection'])){
$services[]='Family Rooms: '.$_POST['family_room_selection'];
}
if($services){
$email_subject = "Price Quote";
$email_body='Carpet Services Needed: \n'.implode("\n",$services);
$to = "jon@example.com";
$headers = "From: $email";
mail($to, $email_subject, $email_body, $headers);
header("Location: http://example.com");
}
else{
echo 'You have to select at least one service';
}
?>
虽然我在代码中使用import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
替换如下:
{}
请检查下面的我的回溯配置:
logger.info("User {} successfully logged in to the system",u.getEmail());
即使我使用的是最新的稳定版本slf4j 1.7.25,<encoder>
<pattern>%d [%thread] %-5level %logger{36} H:${HOSTNAME} - SC:%X{optionalParam} %msg%n</pattern>
</encoder>
仍未正确替换。
以下文本是logger.info的输出:
“用户{}已成功登录系统”
我使用LoggerFactory创建记录器:
{}
答案 0 :(得分:2)
经过一番调查后,我发现问题出现在logback使用的编码器模式中。
我将编码器模式更改为:
<encoder>
<pattern>%d [%thread] %-5level %logger{5} H:${HOSTNAME} - %msg%n</pattern>
</encoder>
一切都开始有效,现在{}替换正在成功执行。