This query generates size for both log and data in MB as well as GB
SELECT X.database_name,
X.log_size_mb,
X.log_size_mb / 1024 AS log_size_gb,
X.row_size_mb,
X.row_size_mb / 1024 AS row_size_gb,
X.total_size_mb,
X.total_size_mb / 1024 AS total_size_gb
FROM (SELECT database_name = DB_NAME(database_id),
log_size_mb = CAST(SUM(CASE
WHEN type_desc = 'LOG' THEN size END) * 8. / 1024 AS DECIMAL(8, 2)),
row_size_mb = CAST(SUM(CASE
WHEN type_desc = 'ROWS' THEN size END) * 8. / 1024 AS DECIMAL(8, 2)),
total_size_mb = CAST(SUM(size) * 8. / 1024 AS DECIMAL(8, 2))
FROM sys.master_files WITH (NOWAIT)
WHERE database_id = DB_ID() -- current db by default
GROUP BY database_id) AS X