|  | @@ -147,6 +147,40 @@
 | 
	
		
			
				|  |  |                                              </template>
 | 
	
		
			
				|  |  |                                          </a-col>
 | 
	
		
			
				|  |  |                                      </a-row>
 | 
	
		
			
				|  |  | +                                    <a-row style="padding: 20px">
 | 
	
		
			
				|  |  | +                                        <a-col :lg="24" :xl="12">
 | 
	
		
			
				|  |  | +                                            <a-list-item-meta 
 | 
	
		
			
				|  |  | +                                                title='{{ i18n "pages.xray.logLevel" }}'
 | 
	
		
			
				|  |  | +                                                description='{{ i18n "pages.xray.logLevelDesc" }}'/>
 | 
	
		
			
				|  |  | +                                        </a-col>
 | 
	
		
			
				|  |  | +                                        <a-col :lg="24" :xl="12">
 | 
	
		
			
				|  |  | +                                            <template>
 | 
	
		
			
				|  |  | +                                                <a-select
 | 
	
		
			
				|  |  | +                                                    v-model="setLogLevel"
 | 
	
		
			
				|  |  | +                                                    :dropdown-class-name="themeSwitcher.currentTheme"
 | 
	
		
			
				|  |  | +                                                    style="width: 100%">
 | 
	
		
			
				|  |  | +                                                    <a-select-option v-for="s in logLevel" :value="s">[[ s ]]</a-select-option>
 | 
	
		
			
				|  |  | +                                                </a-select>
 | 
	
		
			
				|  |  | +                                            </template>
 | 
	
		
			
				|  |  | +                                        </a-col>
 | 
	
		
			
				|  |  | +                                    </a-row>
 | 
	
		
			
				|  |  | +                                    <a-row style="padding: 20px">
 | 
	
		
			
				|  |  | +                                        <a-col :lg="24" :xl="12">
 | 
	
		
			
				|  |  | +                                            <a-list-item-meta 
 | 
	
		
			
				|  |  | +                                                title='{{ i18n "pages.xray.accessLog" }}'
 | 
	
		
			
				|  |  | +                                                description='{{ i18n "pages.xray.accessLogDesc" }}'/>
 | 
	
		
			
				|  |  | +                                        </a-col>
 | 
	
		
			
				|  |  | +                                        <a-col :lg="24" :xl="12">
 | 
	
		
			
				|  |  | +                                            <template>
 | 
	
		
			
				|  |  | +                                                <a-select
 | 
	
		
			
				|  |  | +                                                    v-model="setAccessLog"
 | 
	
		
			
				|  |  | +                                                    :dropdown-class-name="themeSwitcher.currentTheme"
 | 
	
		
			
				|  |  | +                                                    style="width: 100%">
 | 
	
		
			
				|  |  | +                                                    <a-select-option v-for="s in access" :value="s">[[ s ]]</a-select-option>
 | 
	
		
			
				|  |  | +                                                </a-select>
 | 
	
		
			
				|  |  | +                                            </template>
 | 
	
		
			
				|  |  | +                                        </a-col>
 | 
	
		
			
				|  |  | +                                    </a-row>
 | 
	
		
			
				|  |  |                                  </a-list-item>
 | 
	
		
			
				|  |  |                                  </a-collapse-panel>
 | 
	
		
			
				|  |  |                                  <a-collapse-panel header='{{ i18n "pages.xray.blockConfigs"}}'>
 | 
	
	
		
			
				|  | @@ -534,6 +568,8 @@
 | 
	
		
			
				|  |  |                  protocol: "freedom"
 | 
	
		
			
				|  |  |              },
 | 
	
		
			
				|  |  |              routingDomainStrategies: ["AsIs", "IPIfNonMatch", "IPOnDemand"],
 | 
	
		
			
				|  |  | +            logLevel: ["none" , "debug" , "info" , "warning", "error"],
 | 
	
		
			
				|  |  | +            access: ["none" , "./access.log" ],
 | 
	
		
			
				|  |  |              settingsData: {
 | 
	
		
			
				|  |  |                  protocols: {
 | 
	
		
			
				|  |  |                      bittorrent: ["bittorrent"],
 | 
	
	
		
			
				|  | @@ -1109,6 +1145,28 @@
 | 
	
		
			
				|  |  |                      this.templateSettings = newTemplateSettings;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              },
 | 
	
		
			
				|  |  | +            setLogLevel: {
 | 
	
		
			
				|  |  | +                get: function () {
 | 
	
		
			
				|  |  | +                    if (!this.templateSettings || !this.templateSettings.log || !this.templateSettings.log.loglevel) return "warning";
 | 
	
		
			
				|  |  | +                    return this.templateSettings.log.loglevel;
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                set: function (newValue) {
 | 
	
		
			
				|  |  | +                    newTemplateSettings = this.templateSettings;
 | 
	
		
			
				|  |  | +                    newTemplateSettings.log.loglevel = newValue;
 | 
	
		
			
				|  |  | +                    this.templateSettings = newTemplateSettings;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +            setAccessLog: {
 | 
	
		
			
				|  |  | +                get: function () {
 | 
	
		
			
				|  |  | +                    if (!this.templateSettings || !this.templateSettings.log || !this.templateSettings.log.access) return "none";
 | 
	
		
			
				|  |  | +                    return this.templateSettings.log.access;
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                set: function (newValue) {
 | 
	
		
			
				|  |  | +                    newTemplateSettings = this.templateSettings;
 | 
	
		
			
				|  |  | +                    newTemplateSettings.log.access = newValue;
 | 
	
		
			
				|  |  | +                    this.templateSettings = newTemplateSettings;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  |              blockedIPs: {
 | 
	
		
			
				|  |  |                  get: function () {
 | 
	
		
			
				|  |  |                      return this.templateRuleGetter({ outboundTag: "blocked", property: "ip" });
 |