Twitter์์ IDestructuringPolicy๋ฅผ ํตํด ๊ตฌํํ๋ ๊ฒ์ด ์๋นํ ๊ฐ๋จํด์ผ ํ๋ค๊ณ ์ธ๊ธํ์ต๋๋ค.
;)
IDestructuringPolicy
๋ฅผ ํตํด ์ด ์์
์ ์ํํ๋ ค๊ณ ํ์ง๋ง ์๋ํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
์ฝ๋๋ฒ ์ด์ค๋ฅผ ํตํ Cursory look์ PropertyValueConverter
๋จผ์ ์์ ๋ํ๋ด๋ ๊ฒ ๊ฐ์ต๋๋ค(์ฌ๊ธฐ์์๋ https://github.com/serilog/serilog/blob/master/src/Serilog/Parameters/PropertyValueConverter.cs?source=c#L112). ๊ฐ์ฒด๋ฅผ ์ปฌ๋ ์
์ผ๋ก ์ทจ๊ธํฉ๋๋ค(๋ชจ๋ JToken
๋ IEnumerable
). ๋ฐ๋ผ์ IDestructuringPolicy
ํ์ธํ๋ ๊ฒ์ ๊ท์ฐฎ๊ฒ ํ์ง ์์ต๋๋ค.
๋๋ ์๋ง๋ IDestructuringPolicy
์ ๋ ๋์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค(๋จผ์ ํ์ธํ๊ณ ๊ธฐ๋ณธ ๋์์ผ๋ก ๋๋๋ฆฌ๊ธฐ)๋ ํ์ถ๊ตฌ๋ฅผ ์ ๊ณตํ ์ ์์ง๋ง ์์ ํ ํ๋ฆด ์ ์์ต๋๋ค. ์ํธ.
์ง๊ธ์ ๊ฐ์ ์ ์ธ ์์ค์ ์ถ๊ฐํ์ฌ ๋น ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ง๋ค์์ต๋๋ค.
IEnumerable
๊ฐ ์๋ JObjectWrapper
๋ผ๋ ํด๋์ค๋ฅผ ์ถ๊ฐํ๊ณ JObject
๋ฅผ ๋ํํฉ๋๋ค. ์ด์ ๋ด IDestructuringPolicy
๊ฐ ํธ์ถ๋๊ณ ์ธ์์ ๋ค์ ํ๋ณตํ ๊ณณ์
๋๋ค.
@kkozmic ์ด๊ฑฐ ์ด๋์ ? ์์์ ์ธ๊ธํ ์ ํ์ ์ ๊ฑฐํ ๊ฐ์น๊ฐ ์์ต๋๊น? ๋ค๋ฅธ ์๊ฐ์ด ์์ต๋๊น? ๊ฑด๋ฐฐ :)
๊ธ์, ๊ทธ๊ฒ์ ๋ถ์พํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค :) ๊ทธ๊ฒ์ ๋ด๊ฐ ์์ด์ผ ํ ๊ณณ์ผ๋ก ๋ฐ๋ ค๋ค ์ฃผ์ง๋ง ๊ฐ๋ฅํ๋ฉด ๊ทธ๋ณด๋ค ๋ ์ฐ์ํ ์๋ฃจ์ ์ ์ํฉ๋๋ค.
์๋ง๋ ์๋ก์ด ์ธํฐํ์ด์ค?
public interface ISequenceConversionPolicy
{
bool TryConvertToSequence(object value, ILogEventPropertyValueFactory propertyValueFactory, out SequenceValue result);
}
๋ํ, ์๋ง๋:
public interface IDictionaryConversionPolicy
:)
์ง๊ธ์ ๋ซํ ์์ง๋ง PR์ ์๋ํ๋ ค๋ ์ฌ๋์ด ์๋ค๋ฉด ์ด ์์ ์ ํตํด ์์ ํ ์ ์์ต๋๋ค. ๋ชจ๋ ์ ๋ ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! :)
@kkozmic ๋น์ ์ IDestructuringPolicy
(๋ํผ์ ํจ๊ป ์๋ํ๋ ๊ฒ)์ ๋ณผ ์ ์์๊น์?
์ฃ์กํฉ๋๋ค. ๊ทธ ์ฝ๋๋ ๋ ์ด์ ๊ฐ์ง๊ณ ์์ง ์์ต๋๋ค.
2015๋
2์ 3์ผ ํ์์ผ ์ค์ 4:38:45 Harry McIntyre [email protected]
์ผ๋ค:
@kkozmic https://github.com/kkozmic ๋ด๊ฐ ๋ณผ ์ ์๋ ๊ธฐํ
๊ทํ์ IDestructuringPolicy(๋ํผ์ ํจ๊ป ์๋ํ๋ ์ ์ฑ )?โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/serilog/serilog/issues/30#issuecomment -72500600.
๋น๋ 1.4.168์ ์ด๊ฒ์ ์ด์ํ๊ฒ ๋ง๋ ์ ํ์ ์ ๊ฑฐํฉ๋๋ค. ๊ทธ๊ฒ์ ํ์ฉํ๋ _Serilog.Extras.JObject_ ๋๋ ์ด์ ์ ์ฌํ ๊ฒ์ ๋ณด๊ณ ์ถ์ต๋๋ค :-)
@Jaben ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
๋ฉ์ง!
@nblumhardt ๊ต์ฅํฉ๋๋ค, ๊ฐ์ฌํฉ๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
https://github.com/destructurama/json-net