1 /*
2  * Copyright (c) 2018 Nordic Semiconductor ASA
3  * Copyright (c) 2016 Intel Corporation
4  *
5  * SPDX-License-Identifier: Apache-2.0
6  */
7 
8 #include "kernel_shell.h"
9 
10 #include <zephyr/logging/log_ctrl.h>
11 
cmd_kernel_log_level_set(const struct shell * sh,size_t argc,char ** argv)12 static int cmd_kernel_log_level_set(const struct shell *sh, size_t argc, char **argv)
13 {
14 	ARG_UNUSED(argc);
15 
16 	int err = 0;
17 
18 	uint8_t severity = shell_strtoul(argv[2], 10, &err);
19 
20 	shell_warn(sh, "This command is deprecated as it is a duplicate. "
21 		       "Use 'log enable' command from logging commands set.");
22 	if (err) {
23 		shell_error(sh, "Unable to parse log severity (err %d)", err);
24 
25 		return err;
26 	}
27 
28 	if (severity > LOG_LEVEL_DBG) {
29 		shell_error(sh, "Invalid log level: %d", severity);
30 		shell_help(sh);
31 		return SHELL_CMD_HELP_PRINTED;
32 	}
33 
34 	int source_id = log_source_id_get(argv[1]);
35 
36 	/* log_filter_set() takes an int16_t for the source ID */
37 	if (source_id < 0) {
38 		shell_error(sh, "Unable to find log source: %s", argv[1]);
39 		return -EINVAL;
40 	}
41 
42 	log_filter_set(NULL, 0, (int16_t)source_id, severity);
43 
44 	return 0;
45 }
46 
47 KERNEL_CMD_ARG_ADD(log_level, NULL, "<module name> <severity (0-4)>", cmd_kernel_log_level_set, 3,
48 		   0);
49