| Summary: | We should use Options::useOSLog to trigger initializeDatafileToUseOSLog | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Yijia Huang <yijia_huang> |
| Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW --- | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
The current implementation to initializeDatafileToUseOSLog is based on useOSLogOptionHasChanged, which is inconvenient for some cases due to useOSLogOptionHasChanged can only be updated in std::optional<OptionsStorage::OSLogType> parse(const char* string) with condition `result && result.value() != Options::useOSLog()`. ``` if (useOSLogOptionHasChanged) { initializeDatafileToUseOSLog(); useOSLogOptionHasChanged = false; } ``` ``` if (result && result.value() != Options::useOSLog()) { useOSLogOptionHasChanged = true; } ``` That means we only can trigger initializeDatafileToUseOSLog() by passing an environment variable other than useOSLog::None. So, the following cases would fail to trigger the initialization function: case 1: change OSLogType::None to OSLogType::Error in OptionsList.h and pass an environment variable `useOSLog=1` case 2: only change OSLogType::None to OSLogType::Error in OptionsList.h We can resolve this by using this ``` if (Options::useOSLog() != OSLogType::None) initializeDatafileToUseOSLog(); ```