包括logb​​ack模式中的spring属性

时间:2017-09-07 13:44:11

标签: spring-boot logback

我想在我的logback.xml模式中包含一些spring属性,但直到我知道由于在logback.xml之后加载application.properties而不可能

有一种方法可以从application.properties或项目pom.xml中包含属性吗?

这是我的回溯代码:

  

                     %d {“yyyy-MM-dd HH:mm:ss,SSSZ”} [%p]%c $ {project.artifactId} - %msg%n               

1 个答案:

答案 0 :(得分:1)

您可以在Logback配置文件中使用名为<configuration> <springProperty name="artifactId" source="project.artifactId"/> ... <fileNamePattern> ... ${artifactId} ... </fileNamePattern> ... </configuration> 的专用属性。

source

name属性应与 application.properties 中的键匹配。 private static ViewPager viewPager; private static int currentPage = 0; private List<NewsModel> imageList=new ArrayList<>( ); private ViewPagerAdapter adapter; private NewsController mController; private Timer swipeTimer; private Handler handler; private Runnable Update; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.option_main_fragment, container, false); viewPager = view.findViewById(R.id.pager); adapter=new ViewPagerAdapter( this.getActivity(),imageList ); CircleIndicator indicator = (CircleIndicator) view.findViewById(R.id.indicator); viewPager.setAdapter(adapter); indicator.setViewPager(viewPager); adapter.registerDataSetObserver(indicator.getDataSetObserver()); mController = new NewsController(this); mController.startFetching(); return view; } @Override public void onResume() { // Auto start of viewpager handler = new Handler(); Update= new Runnable() { public void run() { if (currentPage == imageList.size()) { currentPage = 0; } viewPager.setCurrentItem(currentPage++, true); System.out.println(viewPager.getCurrentItem()); } }; swipeTimer = new Timer(); swipeTimer.schedule(new TimerTask() { @Override public void run() { handler.post(Update); } },2000,5000); super.onResume(); } @Override public void onPause() { swipeTimer.cancel(); super.onPause(); } 属性用于引用配置中的值。