Capture SQL Server queries without third-party tools and without using deprecated features?

You could use Extended Events to capture this data. However, depending on the amount of traffic your server receives, this could turn into a large amount of data very quickly and could lead to performance problems.

I would like to limit the events that it tracks to something like sqlserver.rpc_completed or sqlserver.sql_statement_completed, these only capture what was completed. Erin Stellato wrote an excellent piece about using XEvent Profiler to capture queries in SQL Server.

From SSMS, I would go to Administration> Extended Events> Session and use the New Session Wizard or New Session to start building your session to track data. Microsoft documents include many details on how to configure this.

This is an example of something that I recently implemented to capture queries on a specific server, you can add filters to remove queries you don't want to see, such as some server names or application names that run queries too:

CREATE EVENT SESSION (Track Queries) ON SERVER 
ADD EVENT sqlserver.rpc_completed(
    ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.database_name,sqlserver.nt_username,sqlserver.server_instance_name,sqlserver.server_principal_name,sqlserver.sql_text,sqlserver.username)
    WHERE (NOT (sqlserver).(like_i_sql_unicode_string)((sqlserver).(client_hostname),N'%name%') 
            AND (sqlserver).(not_equal_i_sql_unicode_string)((sqlserver).(client_hostname),N'name') 
            AND NOT (sqlserver).(like_i_sql_unicode_string)((sqlserver).(client_app_name),N'%name%') 
            AND (sqlserver).(server_principal_name)<>N'')),
ADD EVENT sqlserver.sql_statement_completed(
    ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.database_name,sqlserver.nt_username,sqlserver.server_instance_name,sqlserver.server_principal_name,sqlserver.sql_text,sqlserver.username)
    WHERE (NOT (sqlserver).(like_i_sql_unicode_string)((sqlserver).(client_hostname),N'%%') 
            AND (sqlserver).(not_equal_i_sql_unicode_string)((sqlserver).(client_hostname),N'name') 
            AND NOT (sqlserver).(like_i_sql_unicode_string)((sqlserver).(client_app_name),N'%name%') 
            AND (sqlserver).(server_principal_name)<>N''))
ADD TARGET package0.event_file(SET filename=N'D:XETrackQueries.xel',max_file_size=(5120))
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
GO

This captures the details of what has been executed and places it in a file for easy reference and analysis.