diff --git a/code/__DEFINES/~skyrat_defines/logging.dm b/code/__DEFINES/~skyrat_defines/logging.dm
index d90eb1db421..dcfa4a4cd0e 100644
--- a/code/__DEFINES/~skyrat_defines/logging.dm
+++ b/code/__DEFINES/~skyrat_defines/logging.dm
@@ -1 +1,8 @@
+// Logging types for log_message()
#define LOG_SUBTLER (1 << 20)
+
+//Individual logging panel pages
+#undef INDIVIDUAL_EMOTE_LOG
+#define INDIVIDUAL_EMOTE_LOG (LOG_EMOTE | LOG_SUBTLER)
+#undef INDIVIDUAL_SHOW_ALL_LOG
+#define INDIVIDUAL_SHOW_ALL_LOG (LOG_ATTACK | LOG_SAY | LOG_WHISPER | LOG_EMOTE | LOG_SUBTLER | LOG_DSAY | LOG_PDA | LOG_CHAT | LOG_COMMENT | LOG_TELECOMMS | LOG_OOC | LOG_ADMIN | LOG_OWNERSHIP | LOG_GAME | LOG_ADMIN_PRIVATE | LOG_ASAY | LOG_MECHA | LOG_VIRUS | LOG_CLONING | LOG_SHUTTLE | LOG_ECON)
diff --git a/code/__HELPERS/~skyrat_helpers/logging.dm b/code/__HELPERS/~skyrat_helpers/logging.dm
new file mode 100644
index 00000000000..fbf0f2f3094
--- /dev/null
+++ b/code/__HELPERS/~skyrat_helpers/logging.dm
@@ -0,0 +1,5 @@
+
+//This logs subtler emotes in game.txt, if the conflig flag in config\skyrat\skyrat_config.txt is true.
+/proc/log_subtler(text)
+ if (CONFIG_GET(flag/log_subtler))
+ WRITE_LOG(GLOB.world_game_log, "SUBTLER EMOTE: [text]")
diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm
index 02915377581..3bab71a5ce0 100644
--- a/code/controllers/configuration/entries/general.dm
+++ b/code/controllers/configuration/entries/general.dm
@@ -77,6 +77,8 @@
/datum/config_entry/flag/log_emote // log emotes
+/datum/config_entry/flag/log_subtler // log subtler emotes //SKYRAT EDIT ADDITION
+
/datum/config_entry/flag/log_econ // log economy actions
/datum/config_entry/flag/log_adminchat // log admin chat messages
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index e5343e3e3c0..c0e1ba7c52e 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -1341,6 +1341,10 @@
log_whisper(log_text)
if(LOG_EMOTE)
log_emote(log_text)
+ //SKYRAT EDIT ADDITION BEGIN
+ if(LOG_SUBTLER)
+ log_subtler(log_text)
+ //SKYRAT EDIT ADDITION END
if(LOG_DSAY)
log_dsay(log_text)
if(LOG_PDA)
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 8b2023390a0..3c2d5b56a82 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -492,6 +492,10 @@
colored_message = "(ASAY) [colored_message]"
if(LOG_EMOTE)
colored_message = "(EMOTE) [colored_message]"
+ //SKYRAT EDIT ADDITION BEGIN
+ if(LOG_SUBTLER)
+ colored_message = "(EMOTE) (SUBTLER) [colored_message]"
+ //SKYRAT EDIT ADDITION END
var/list/timestamped_message = list("\[[time_stamp()]\] [key_name(src)] [loc_name(src)]" = colored_message)
diff --git a/config/skyrat/skyrat_config.txt b/config/skyrat/skyrat_config.txt
index 10cc57cdce1..a38b273afff 100644
--- a/config/skyrat/skyrat_config.txt
+++ b/config/skyrat/skyrat_config.txt
@@ -13,3 +13,6 @@ ALERT_VIOLET_DOWNTO A major medical emergency has developed. Non-medical person
## How long until someone can be put in cryo if they are SSD
CRYO_MIN_SSD_TIME 15
+
+## log subtler emotes in game.txt
+#LOG_SUBTLER
diff --git a/modular_skyrat/modules/verbs/code/modules/client/verbs/looc.dm b/modular_skyrat/modules/verbs/code/modules/client/verbs/looc.dm
index bbfb58af2f7..e224abc9482 100644
--- a/modular_skyrat/modules/verbs/code/modules/client/verbs/looc.dm
+++ b/modular_skyrat/modules/verbs/code/modules/client/verbs/looc.dm
@@ -43,7 +43,7 @@
msg = emoji_parse(msg)
- mob.log_talk(msg,LOG_OOC, tag="(LOOC)")
+ mob.log_talk(msg,LOG_OOC, tag="LOOC")
var/list/heard = get_hearers_in_view(7, get_top_level_mob(src.mob))
for(var/mob/M in heard)
diff --git a/modular_skyrat/modules/verbs/code/modules/mob/subtle.dm b/modular_skyrat/modules/verbs/code/modules/mob/subtle.dm
index 88f0d02423b..cbed35d07c5 100644
--- a/modular_skyrat/modules/verbs/code/modules/mob/subtle.dm
+++ b/modular_skyrat/modules/verbs/code/modules/mob/subtle.dm
@@ -42,7 +42,8 @@
if(!can_run_emote(user))
return FALSE
- user.log_message(message, LOG_EMOTE)
+ var/prefix_log_message = "(SUBTLE) [message]"
+ user.log_message(prefix_log_message, LOG_EMOTE)
message = "[user] " + "[user.say_emphasis(message)]"
for(var/mob/M in GLOB.dead_mob_list)
diff --git a/tgstation.dme b/tgstation.dme
index 3f4de6aa768..8d301e96e82 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -195,6 +195,7 @@
#include "code\__HELPERS\sorts\MergeSort.dm"
#include "code\__HELPERS\sorts\TimSort.dm"
#include "code\__HELPERS\~skyrat_helpers\is_helpers.dm"
+#include "code\__HELPERS\~skyrat_helpers\logging.dm"
#include "code\__HELPERS\~skyrat_helpers\unsorted.dm"
#include "code\_globalvars\bitfields.dm"
#include "code\_globalvars\configuration.dm"