我正在阅读Log4j2的配置部分。 http://logging.apache.org/log4j/2.x/manual/configuration.html
<Appenders>
<Console name="STDOUT">
<PatternLayout pattern="%m%n"/>
</Console>
<List name="List">
<ThresholdFilter level="debug"/>
</List>
<Routing name="Routing">
<Routes pattern="$${sd:type}">
<Route>
<RollingFile name="Rolling-${sd:type}" fileName="${filename}"
filePattern="target/rolling1/test1-${sd:type}.%i.log.gz">
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
<SizeBasedTriggeringPolicy size="500" />
</RollingFile>
</Route>
<Route ref="STDOUT" key="Audit"/>
<Route ref="List" key="Service"/>
</Routes>
</Routing>
</Appenders>
double $$ sign是什么意思?例如$$ {SD:类型}
答案 0 :(得分:4)
似乎input_modal.find('.modal-body').html('Analysis complete'+response.console_output)
用作转义字符。如Log4J documentation中所述,Log4j配置文件解析器使用Apache Commons Lang's StrSubstitutor
,/// Save
NSUserDefaults.standardUserDefaults().setObject(NSKeyedArchiver.archivedDataWithRootObject(object), forKey: key)
/// Read
var data = NSUserDefaults.standardUserDefaults().objectForKey(key) as NSData
var object = NSKeyedUnarchiver.unarchiveObjectWithData(data) as [String: String]
的此文档说:
另一种可能性是使用转义字符,默认情况下为&#39; $&#39;。 如果此字符放在变量引用之前,则为此 引用被忽略,不会被替换。例如:
$
我猜他们想要将值设置为StrSubstitutor
,以便稍后可以在运行时评估此变量。这里有一个很好的例子/解释:http://logging.apache.org/log4j/2.x/manual/lookups.html#ContextMapLookup
答案 1 :(得分:0)
您可以像这样设置配置元素的属性 status="DEBUG":
public class MainActivity extends AppCompatActivity implements NumberPicker.OnValueChangeListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.numberpicker);
}
@Override
public void onValueChange(NumberPicker numberPicker, int i, int i1) {
Toast.makeText(this,
"selected number " + numberPicker.getValue(), Toast.LENGTH_SHORT).show();
}
public void showNumberPicker(View view){
NumberPickerDialog newFragment = new NumberPickerDialog();
newFragment.setValueChangeListener(this);
newFragment.show(getSupportFragmentManager(), "time picker");
}
}
然后按照两步记录日志:
Set filePattern="${LOG_HOME}/${date:yyyy-MM}/all-%d{yyyy-MM-dd}.log.gz"
日志记录:
...
filePattern="logs/2021-06/all-%d{yyyy-MM-dd}.log.gz"
...
设置 filePattern="${LOG_HOME}/$${date:yyyy-MM}/all-%d{yyyy-MM-dd}.log.gz"
< /p>
日志记录:
...
filePattern="logs/${date:yyyy-MM}/all-%d{yyyy-MM-dd}.log.gz"
...
现在你知道它们的区别了。双 $ 表示结果将根据后一个上下文动态计算。它是动态计算的占位符。